Wallabag adalah jenis layanan baca nanti. Ini memungkinkan Anda untuk menyimpan halaman web sehingga Anda dapat membacanya nanti di waktu senggang Anda sendiri. Ada banyak layanan yang memungkinkan Anda melakukannya seperti Pocket, Instapaper, dll, tetapi menginstal layanan di server yang Anda miliki akan bermanfaat. Untuk satu, itu tidak akan gulung tikar dan menghapus tautannya. Dan Anda dapat merahasiakan data penjelajahan Anda.
Tutorial ini akan membahas cara menginstal dan mengatur Wallabag di server yang berjalan di Ubuntu 18.04 ke atas. Ini juga akan mencakup cara mengatur Nginx, MariaDB, Git, Postfix, Composer dan PHP yang semuanya diperlukan oleh Wallabag untuk dijalankan.
Prasyarat
Anda memerlukan yang berikut ini sebelum melanjutkan tutorial kami.
-
Server berbasis Ubuntu 18.04 yang memiliki pengguna non-root dengan hak istimewa sudo.
-
Anda juga akan membutuhkan alat Make. Untuk menginstalnya, cukup gunakan perintah berikut
$ sudo apt install make
Instal git
Langkah pertama adalah menginstal Git yang nantinya akan kita gunakan untuk menyalin file instalasi wallabag dari repositori git-nya. Git biasanya diinstal akhir-akhir ini di sebagian besar server web. Jika tidak, lanjutkan dengan perintah berikut.
$ sudo apt install git
$ git config --global user.name "Your name"
$ git config --global user.email "[email protected]"
Instal Nginx
$ sudo apt install nginx
Jika Anda menggunakan firewall Ubuntu, tambahkan aturan berikut ke daftarnya.
$ sudo ufw allow "Nginx HTTP"
Periksa juga statusnya.
$ sudo ufw status
Anda akan melihat sesuatu seperti ini
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Coba akses alamat IP server Anda di browser. Anda akan melihat halaman Nginx default berikut yang mengonfirmasi bahwa Nginx berhasil diinstal.
Instal MariaDB
MariaDB adalah pengganti drop-in untuk MySQL yang berarti perintah untuk menjalankan dan mengoperasikan MariaDB sama dengan perintah untuk MySQL. Untuk menginstal MariaDB, jalankan perintah berikut
$ sudo apt install mariadb-server
Jalankan perintah berikut untuk melakukan konfigurasi default seperti memberikan kata sandi root, menghapus pengguna anonim, melarang login root dari jarak jauh dan menjatuhkan tabel pengujian. Tekan ya untuk semuanya dan siapkan kata sandi root.
$ sudo mysql_secure_installation
Ada peringatan dengan menyiapkan kata sandi root. MariaDB secara default memungkinkan pengguna root sistem untuk masuk ke MariaDB tanpa kata sandi. Tetapi jika Anda akan menggunakan aplikasi pihak ke-3 untuk mengakses melalui root, kata sandi adalah suatu keharusan jika tidak, aplikasi seperti PHPMyAdmin akan gagal. Untuk ini, Anda perlu menonaktifkan otentikasi berbasis plugin yang merupakan opsi default di MariaDB.
Untuk Menonaktifkan otentikasi plugin dan memulihkan kata sandi root, masukkan prompt MySQL terlebih dahulu dengan menggunakan perintah berikut.
$ sudo mysql -u root
Sekarang masukkan perintah berikut untuk menonaktifkan otentikasi plugin.
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
Setelah ini restart layanan MariaDB Anda.
$ sudo systemctl restart mariadb.service
Itu dia. Lain kali Anda ingin login ke MySQL, gunakan perintah berikut
$ sudo mysql -u root -p
Dan Anda akan dimintai kata sandi root yang telah Anda tetapkan pada awalnya.
Konfigurasi MariaDB untuk Wallabag
Sekarang kita perlu menyiapkan database yang akan digunakan untuk aplikasi wallabag. Untuk melakukan itu login ke MySQL prompt. Kami akan berasumsi bahwa Anda menggunakan metode otentikasi default MariaDB (yaitu tanpa menggunakan kata sandi root) untuk sisa tutorial.
$ sudo mysql -u root
Setelah di prompt masukkan perintah berikut yang akan mengatur database bernama wallabag dan pengguna database bernama wallabaguser dan memberikannya akses ke database.
create database wallabag;
create user [email protected];
set password for [email protected]= password("yourpassword");
grant all privileges on wallabag.* to [email protected] identified by "yourpassword";
flush privileges;
exit
Instal PHP dan komposer
Sekarang server kita sudah aktif dan berjalan, saatnya untuk menginstal PHP dan Composer. Karena kita menggunakan Nginx, kita perlu menginstal paket PHP-FPM. Bersamaan dengan itu kita akan membutuhkan beberapa ekstensi PHP lainnya seperti mbstring, mysql, gd, bc-math, curl, zip dan xml.
$ sudo apt install php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-gettext php-tokenizer
$ sudo apt install composer
Itu saja untuk saat ini. Kami akan datang ke bagian konfigurasi PHP dan komposer nanti. Mari kita lanjutkan ke langkah berikutnya.
Konfigurasi Nginx
Saatnya untuk mengkonfigurasi instalasi Nginx kita sebelum kita melanjutkan dengan instalasi yang sebenarnya. Dengan asumsi nama domain yang Anda gunakan untuk wallabag adalah example.com, buat direktori tempat Anda akan meng-host instalasi Anda. Wallabag akan dipasang di direktori html.
$ sudo mkdir -p /var/www/example.com/html
Selanjutnya, tetapkan kepemilikan direktori ke www-data yang digunakan oleh Nginx.
$ sudo chown -R www-data:www-data /var/www/example.com/html
Pastikan izin yang benar telah disetel.
$ sudo chmod -R 755 /var/www/example.com
Selanjutnya, buat host virtual untuk situs tersebut.
sudo nano /etc/nginx/sites-available/example.com
Rekatkan konfigurasi berikut yang berfungsi dengan wallabag.
server {
server_name example.com www.example.com;
root /var/www/example/html/web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
# replace php7.2-fpm with whichever php 7.x version you are using
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Simpan file dengan menekan Ctrl + X dan memasukkan Y ketika diminta. Selanjutnya, kita perlu mengaktifkan konfigurasi ini. Untuk ini, buat tautan darinya ke direktori yang mendukung situs.
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Anda mungkin menghadapi masalah ember memori yang muncul karena nama server tambahan. Untuk memperbaikinya, buka file nginx.conf
$ sudo nano /etc/nginx/nginx.conf
Temukan server_names_hash_bucket_size
direktif dan hapus #
simbol untuk menghapus komentar pada baris:
server_names_hash_bucket_size 64;
Simpan file. Selanjutnya, pastikan tidak ada kesalahan dalam konfigurasi Nginx.
$ sudo nginx -t
Jika tidak ada masalah, mulai ulang Nginx untuk mengaktifkan perubahan baru.
$ sudo systemctl restart nginx
Instal Wallabag
Pertama, kloning wallabag dari repositori GitHub-nya. Karena kami memberikan izin folder html kepada pengguna www-data, kami perlu beralih ke folder tersebut untuk menjalankan instalasi.
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com
git clone https://github.com/wallabag/wallabag.git html
Ini akan menyalin file instalasi wallabag ke direktori html. Instal Wallabag menggunakan perintah make.
$ cd html
$ make install
Anda akan ditanya beberapa pertanyaan selama instalasi.
Jika Anda ingin menggunakan http
, masukkan http://example.com
sebagai gantinya ketika ditanya nama Domain dan lewati bagian HTTPS dari tutorial.
database_driver (pdo_mysql): pdo_mysql
database_driver_class (null): Press Enter
database_host (127.0.0.1): 127.0.0.1
database_port (null): 3306
database_name (wallabag): wallabag
database_user (root): wallabaguser
database_password (null): wallabagpassword
database_path (null): Press Enter
database_table_prefix (wallabag_): Prefix of your choice or Press Enter for the default.
database_socket (null): Press Enter
database_charset (utf8mb4): Press Enter
domain_name ('https://your-wallabag-url-instance.com'): http://example.com
Anda juga akan dimintai detail SMTP untuk mendapatkan email tentang kata sandi yang terlupakan atau otentikasi dua faktor. Jika Anda ingin menggunakan layanan SMTP pihak ketiga seperti Mailgun atau Sendgrid, Anda dapat mengisi nilai yang tersisa atau cukup tekan Enter melalui mereka. Masukkan no
terhadap parameter fosuser_registration
jika Anda tidak ingin siapa pun mendaftar di situs Anda. Juga, ubah nilai secret
parameter. Jika Anda memiliki data besar untuk diimpor, instal RabbitMQ atau Redis dan masukkan nilainya saat diminta.
Saat ditanya apakah akan menyetel ulang basis data yang ada, tekan Enter untuk menggunakan opsi default (tidak). Anda juga akan diminta untuk membuat pengguna Admin.
Beralih kembali ke login pengguna Ubuntu default Anda setelah selesai.
$ exit
Konfigurasi SMTP
Jika Anda ingin menyiapkan server SMTP dasar dan tidak menggunakan layanan SMTP pihak ketiga, instal Mailutils.
$ sudo apt install mailutils
Selama instalasi, Anda akan diminta untuk memilih jenis konfigurasi untuk Postfix. Pilih Internet Site
dan lanjutkan. Masukkan example.com
ketika diminta untuk bidang Nama email sistem. Itu dia.
Konfigurasikan HTTPS
Kami akan menggunakan Let's Encrypt untuk mengatur HTTPS untuk instalasi wallabag kami. Tambahkan repositori berikut untuk alat Certbot.
$ sudo add-apt-repository ppa:certbot/certbot
Instal paket Certbot Nginx dari repositori.
$ sudo apt install python-certbot-nginx
Dapatkan sertifikat untuk domain Anda example.com.
$ sudo certbot --nginx -d example.com -d www.example.com
Jika ini adalah pertama kalinya Anda menggunakan alat Certbot, Anda akan diminta untuk memberikan email dan menyetujui persyaratan layanan. Anda juga akan ditanya apakah Anda ingin email Anda dibagikan ke EFF (Electronic Frontier Foundation). Pilih N jika Anda tidak ingin EFF mengirimi Anda email terkait berita dan kampanye mereka.
Jika berhasil, Certbot akan menanyakan bagaimana Anda ingin mengonfigurasi pengaturan HTTPS Anda.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Pilih 2 karena kami ingin semua permintaan ke domain Anda dialihkan ke https.
Itu dia. Domain HTTPS Anda aktif. Certbot akan secara otomatis memperbarui domain Anda setelah setiap 90 hari. Untuk menguji proses pembaruan, lakukan uji coba.
$ sudo certbot renew --dry-run
Jika Anda tidak melihat kesalahan apa pun, itu berarti semuanya sempurna.
Konfigurasi Wallabag
Sekarang setelah kami menyiapkan wallabag, buka domain wallabag Anda. Anda akan melihat layar berikut.
Masukkan kredensial yang Anda pilih selama make
proses di atas. Setelah masuk, Anda akan melihat layar berikut.
Anda harus mengaktifkan otentikasi dua faktor. Untuk melakukannya, klik tombol Config di sebelah kiri dan pilih USER INFORMATION
tab dari layar berikut. Aktifkan tanda centang Two-factor authentication
untuk mengaktifkannya.
Anda dapat mengimpor data Anda dari Pockets, Instapaper, Pinboard, dan bookmark dari Firefox dan browser berbasis Chrome.
Wallabag memberi Anda banyak aplikasi untuk setiap browser, ponsel, atau pembaca Ebook yang dapat Anda gunakan untuk menambahkan tautan. Dan jika tidak ada yang menarik bagi Anda, Anda bahkan dapat menggunakan Bookmarklet, yang detailnya dapat Anda akses dari How to
di setelan Anda.
Tingkatkan Wallabag
Untuk Upgrade Wallabag ke versi terbaru, cukup jalankan perintah berikut.
$ sudo -u www-data /bin/bash
$ cd /var/www/example.com/html
$ make update
Itu saja untuk tutorial ini. Sekarang Anda dapat menyimpan dan membaca artikel dari server Anda tanpa mengorbankan privasi data Anda.