Wallabag adalah aplikasi self-hostable gratis untuk menyimpan halaman web. Ini adalah alternatif open source untuk aplikasi baca nanti milik lainnya seperti Pocket dan Instapaper , memungkinkan Anda mengelola daftar artikel yang Anda temukan di Internet untuk dibaca nanti.
Fitur Wallabag:
- Wallabag menghapus iklan dan hal-hal yang tidak terkait dari halaman web Anda dan hanya menyediakan teks artikel dan gambar terkait sehingga dapat dibaca dengan mudah. Ini sangat berguna saat Anda melihatnya di smartphone atau tablet.
- Wallabag menyimpan halaman web Anda dalam database sehingga bahkan jika halaman web asli hilang, Anda masih dapat melihatnya di Wallabag .
- Anda dapat dengan mudah mengekspor semua halaman web Anda ke file TXT, HTML, CSV, EPUB, MOBI, PDF, atau JSON.
- Anda juga dapat menginstal ekstensi browser Wallabag dan aplikasi ponsel cerdas untuk mengakses Wallabag dengan mudah.
- Kemampuan untuk mengimpor bookmark dari Firefox dan browser Google Chrome ( atau Chromium).
Tutorial ini mencakup cara meng-host layanan Wallabag Anda sendiri di Ubuntu 16.04 server atau VPS.
Prasyarat
Untuk memasang wallabag, Anda harus memiliki akses ke pengguna dengan root hak istimewa.
Diasumsikan bahwa Anda telah menyiapkan LAMP tumpukan atau LEMP tumpukan di Ubuntu 16.04. Wallabag dapat berjalan dengan PHP>=5.5, termasuk PHP 7. Jika Anda belum melakukannya, lihat panduan yang mudah diikuti berikut ini.
- Instal Apache, MariaDB dan PHP7 (LAMP Stack) di Ubuntu 16.04 LTS
- Instal Nginx, MariaDB dan PHP7 (LEMP Stack) di Ubuntu 16.04 LTS
Setelah selesai, kembali ke sini dan baca terus.
Masuk Melalui SSH
Masuk ke server Anda sebagai pengguna baru yang Anda buat (atau root) melalui SSH (ganti nama pengguna dan alamat IP server Anda di sini):
ssh new_user@server_IP_address
Jawab permintaan kata sandi untuk menyelesaikan proses login.
Mari kita mulai memasang Wallabag!
Langkah 1:Buat Database dan Pengguna untuk Wallabag
Wallabag membutuhkan database untuk menyimpan halaman web Anda dan kita akan menggunakan database MariaDB/MySQL dalam tutorial ini. Jalankan perintah berikut untuk masuk ke shell MariaDB/MySQL sebagai root. Perhatikan bahwa ini adalah pengguna root MariaDB/MySQL, bukan pengguna root sistem Ubuntu 16.04.
mysql -u root -p
Jika Anda melihat Access denied for user 'root'@'localhost'
kesalahan, maka Anda perlu menonaktifkan otentikasi soket unix.
Kemudian buat database baru untuk Wallabag menggunakan perintah berikut. Tutorial ini beri nama wallabag, Anda dapat menggunakan nama apa pun yang Anda suka untuk databasenya.
create database wallabag;
Selanjutnya, buat pengguna database baru di localhost menggunakan perintah berikut. Sekali lagi, tutorial ini beri nama wallabaguser, Anda dapat menggunakan nama apa pun yang Anda suka.
create user wallabaguser@localhost;
Tetapkan kata sandi untuk pengguna. Ganti kata sandi Anda dengan kata sandi pilihan Anda.
set password for wallabaguser@localhost= password("your-password");
Kemudian berikan semua izin database baru kepada pengguna baru agar nantinya Wallabag dapat menulis ke database.
grant all privileges on wallabag.* to wallabaguser@localhost identified by 'your-password';
Bersihkan tabel hak istimewa agar perubahan diterapkan.
flush privileges;
Keluar dari Shell MariaDB:
exit;
Halaman web Anda akan disimpan di wallabag_entry
tabel setelah Anda selesai menginstal wallabag di akhir tutorial ini.
Langkah 2:Instal Paket php7.0-mysql
Hal penting lainnya yang perlu kita lakukan terkait database adalah menginstal paket php7.0-mysql.
sudo apt install php7.0-mysql
php7.0-mysql
paket menyediakan pdo_mysql
driver yang akan digunakan oleh wallabag untuk terhubung ke database MariaDB/MySQL, jika tidak, Wallabag tidak memiliki cara untuk menghubungkannya. Jika Anda menjalankan PHP sebagai modul Apache, maka setelah paket diinstal, Anda harus me-restart server Web Apache agar driver dapat diaktifkan.
sudo systemctl restart apache2
Jika Anda menjalankan PHP dengan php7.0-fpm, maka Anda tidak perlu me-restart Apache atau php7.0-fpm. pdo_mysql
driver akan diaktifkan secara otomatis setelah diinstal.
Jika Anda tidak yakin apakah Anda menggunakan Apache module
atau php7.0-fpm
, lalu buat test.php
file di bawah root dokumen (secara default /var/www/html
).
sudo nano /var/www/html/test.php
Kemudian paste kode PHP berikut ke dalam file.
<?php phpinfo(); ?>
Tekan Ctrl+O untuk menyimpan file, lalu tekan Ctrl+X untuk keluar. Sekarang di bilah alamat browser, masukkan
server-ip-address/test.php
Ganti sever-ip-address dengan IP Anda yang sebenarnya. Anda akan melihat informasi PHP server Anda. Jika nilai Server API
adalah Apache 2.0 Handler
, maka Anda menggunakan PHP7.0 sebagai Modul Apache. Jika nilainya PHP7.0-FPM
, maka PHP berjalan sebagai layanan FPM.
Langkah 3:Instal Wallabag
Kami akan menggunakan alat git untuk mengkloning repositori Wallabag dari Github dan kemudian menginstal Wallabag dengan Komposer. Jadi instal git di Ubuntu 16.04 dengan perintah di bawah ini:
sudo apt install git
Kemudian kloning repositori Wallabag dan ubah direktori kerja Anda menjadi repositori.
git clone https://github.com/wallabag/wallabag.git cd wallabag
Versi terbaru Wallabag (2.1.2) dirilis pada 17 Oktober 2016. Beralih ke versi 2.1.2 dengan git checkout
perintah.
git checkout 2.1.2
Sebelum kita menginstal Wallabag dengan Composer, kita perlu memastikan bahwa ekstensi PHP berikut diinstal pada Ubuntu 16.04.
sudo apt install php7.0-bcmath php7.0-xml php7.0-zip php7.0-curl php7.0-mbstring php7.0-gd
Selanjutnya, kita perlu menginstal Composer yang merupakan manajer ketergantungan untuk PHP. Ini akan mengunduh dan menginstal semua dependensi Wallabag yang diperlukan bagi kami.
sudo apt install composer
Sekarang atur variabel Symfony dan instal Wallabag menggunakan perintah berikut. SYMFONY_ENV=prod
memberitahu symfony bahwa kita sedang menginstal Wallabag di lingkungan produksi. --no-dev
flag memastikan bahwa tidak ada paket pengembangan yang diinstal di lingkungan produksi.
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
Selama proses instalasi, komposer akan mengunduh dan menginstal semua dependensi yang diperlukan.
Setelah itu, Anda akan diminta untuk memberikan parameter yang hilang sehingga app/config/parameters.yml
file dapat dibuat. Komposer sudah memberikan beberapa nilai default tetapi tidak dapat digunakan untuk layanan produksi Wallabag.
Untuk mempermudah, mari kita bagi pertanyaan menjadi dua bagian. Bagian pertama adalah tentang parameter database. Berikut adalah pertanyaan dan parameter yang disediakan tutorial ini.
Creating the "app/config/parameters.yml" file Some parameters are missing. Please provide them. database_driver (pdo_sqlite): pdo_mysql database_host (127.0.0.1): 127.0.0.1 database_port (null): 3306 database_name (symfony): wallabag database_user (root): wallabaguser database_password (null): your-password database_path ('%kernel.root_dir%/../data/db/wallabag.sqlite'): /var/lib/mysql/wallabag database_table_prefix (wallabag_): wallabag_
Pertanyaan pertama ini adalah driver database apa, yaitu database apa yang ingin Anda gunakan untuk Wallabag. Driver default adalah pdo_sqlite
yang berarti database SQLite akan digunakan untuk menyimpan halaman web. Artikel ini akan menggunakan MariaDB/MySQL karena cepat dan merupakan sistem manajemen basis data relasi sumber terbuka yang paling populer. Kami telah mengaktifkan pdo_mysql
driver di awal artikel ini. Jadi masukkan pdo_mysql
sebagai jawaban untuk pertanyaan pertama.
Pertanyaan lainnya mudah dijawab. Masukkan 127.0.0.1
sebagai host basis data dan 3306
sebagai port database karena secara default database MariaDB/MySQL akan mendengarkan pada 127.0.0.1:3306. Kemudian masukkan nama database, pengguna database dan kata sandi pengguna database yang Anda buat pada langkah 1. Jalur database default MariaDB/MySQL adalah /var/lib/mysql
. Semua database dan tabel Anda disimpan di bawah direktori ini. Awalan tabel database membantu Anda mengenali tabel ini untuk Wallabag.
Sekarang di bagian kedua Anda cukup menekan Enter untuk menggunakan nilai default.
mailer_transport (smtp): mailer_host (127.0.0.1): mailer_user (null): mailer_password (null): locale (en): secret (ovmpmAWXRCabNlMgzlzFXDYmCFfzGv): twofactor_auth (true): twofactor_sender ([email protected]): fosuser_confirmation (true): from_email ([email protected]):
Setelah selesai, jalankan perintah berikut.
php bin/console wallabag:install --env=prod
Ini akan memeriksa persyaratan sistem dan mengatur database. Saat ditanya apakah Anda ingin mengatur ulang basis data, tekan n untuk menjawab tidak. Kemudian Anda akan diminta untuk membuat pengguna admin.
Installing Wallabag... Step 1 of 5. Checking system requirements. +-----------------+--------+----------------+ | Checked | Status | Recommendation | +-----------------+--------+----------------+ | PDO Driver | OK! | | | curl_exec | OK! | | | curl_multi_init | OK! | | +-----------------+--------+----------------+ Success! Your system can run Wallabag properly. Step 2 of 5. Setting up database. It appears that your database already exists. Would you like to reset it? (y/N)n Creating schema Clearing the cache Step 3 of 5. Administration setup. Would you like to create a new admin user (recommended) ? (Y/n)y Username (default: wallabag) : your-admin-username Password (default: wallabag) : admin-pasword-here Email: admin-email-here Step 4 of 5. Config setup. Step 5 of 5. Installing assets. Wallabag has been successfully installed. Just execute `php bin/console server:run --env=prod` for using wallabag: http://localhost:8000
Langkah 2 akan membuat tabel database wallabag. Setelah selesai, kita pindahkan direktori wallabag ke /var/www/
.
cd ~ sudo mv ~/wallabag/ /var/www/
Kemudian atur pengguna Apache (www-data) sebagai pemilik.
sudo chown www-data:www-data /var/www/wallabag -R
Langkah 4:Siapkan Apache Virtual Host
Buat file konfigurasi host virtual untuk Wallabag.
sudo nano /etc/apache2/sites-available/wallabag.conf
Jika Anda menggunakan PHP sebagai modul Apache, salin dan tempel teks berikut ke dalam file konfigurasi. Ganti wallabag.example.com
dengan nama domain Anda sendiri. Anda juga harus mengarahkan nama domain Anda ke alamat IP server Ubuntu 16.04 Anda di DNS.
<VirtualHost *:80> ServerName wallabag.exmaple.com ServerAlias wallabag.example.com DocumentRoot /var/www/wallabag/web <Directory /var/www/wallabag/web> AllowOverride None Order Allow,Deny Allow from All <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> # uncomment the following lines if you install assets as symlinks # or run into problems when compiling LESS/Sass/CoffeScript assets # <Directory /var/www/wallabag> # Options FollowSymlinks # </Directory> # optionally disable the RewriteEngine for the asset directories # which will allow apache to simply reply with a 404 when files are # not found instead of passing the request into the full symfony stack <Directory /var/www/wallabag/web/bundles> <IfModule mod_rewrite.c> RewriteEngine Off </IfModule> </Directory> ErrorLog /var/log/apache2/wallabag_error.log CustomLog /var/log/apache2/wallabag_access.log combined </VirtualHost>
Konfigurasi diatas menggunakan PHP sebagai modul Apache, jika ingin menjalankan PHP dengan php7.0-fpm, maka tambahkan ProxyPassMatch
aturan di bawah CustomLog
.
..... CustomLog /var/log/apache2/wallabag_access.log combined ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/wallabag/web/ </VirtualHost>
Simpan dan tutup file. Dalam konfigurasi di atas, kami menggunakan modul Apache rewrite untuk menulis ulang URL. Kita perlu memastikan mod_rewrite
diaktifkan dengan menjalankan perintah berikut sehingga penulisan ulang URL akan berfungsi dan ujung depan Wallabag dapat ditampilkan dengan benar.
sudo a2enmod rewrite
Kemudian aktifkan host virtual ini dengan membuat tautan simbolis.
sudo ln -s /etc/apache2/sites-available/wallabag.conf /etc/apache2/sites-enabled/
Dan untuk menerapkan perubahan di atas, mulai ulang Apache.
sudo systemctl restart apache2
Sekarang Anda seharusnya dapat mengakses antarmuka web Wallabag Anda di wallabag.example.com
dan masuk.
Menyiapkan File Blok Server Nginx
Buat filenya.
sudo nano /etc/nginx/conf.d/wallabag.conf
Salin dan tempel teks berikut ke dalam file konfigurasi. Ganti wallabag.example.com dengan nama domain Anda sendiri. Anda juga harus mengarahkan nama domain Anda ke alamat IP server Ubuntu 16.04 Anda di DNS.
server { server_name wallabag.example.com; root /var/www/wallabag/web; location / { # try to serve file directly, fallback to app.php try_files $uri /app.php$is_args$args; } location ~ ^/app\.php(/|$) { fastcgi_pass unix:/run/php/php7.0-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; } error_log /var/log/nginx/wallabag_error.log; access_log /var/log/nginx/wallabag_access.log; }
Simpan dan tutup file. Kemudian muat ulang Nginx agar blok server dapat diaktifkan.
sudo systemctl reload nginx
Sekarang Anda seharusnya dapat mengakses antarmuka web wallabag Anda di wallabag.example.com
dan masuk.
Menyiapkan Server SMTP Dasar
Perhatikan bahwa untuk mendaftarkan pengguna baru, server Ubuntu 16.04 Anda harus menjalankan server SMTP untuk mengirim email konfirmasi ke pengguna baru. Anda dapat menggunakan Postfix untuk tujuan ini.
sudo apt install postfix
Selama instalasi, Anda akan diminta untuk memilih jenis konfigurasi untuk Postfix. Pilih Internet Site
sehingga Postfix dapat mengirim email ke server SMTP lain di Internet.
Di bidang nama email sistem, masukkan sesuatu seperti wallabag.your-domain.com
.
Dan sekarang kita akhirnya selesai dan dapat mulai menyimpan halaman web. Semangat!
Saya harap tutorial ini membantu Anda menginstal Wallabag di server Ubuntu 16.04 dengan LAMP atau LEMP. Seperti biasa, jika menurut Anda pos ini bermanfaat, berlangganan buletin gratis kami atau ikuti kami di Google+, Twitter atau sukai halaman Facebook kami.