Selfoss RSS Reader adalah sumber multi-web berbasis web gratis dan open-host, live streaming, mashup, pembaca berita (RSS / Atom) pembaca dan agregator universal. Selfoss RSS Reader memiliki fitur impor OPML, API JSON yang tenang, dan sistem plug-in yang terbuka memungkinkan Anda untuk dengan mudah memperluas fungsionalitas default dengan menulis konektor data khusus Anda sendiri. Anda dapat menggunakan Selfoss untuk streaming langsung dan mengumpulkan semua posting, tweet, podcast, dan feed Anda di satu tempat sentral yang dapat Anda akses dengan mudah dari desktop atau perangkat seluler apa pun.
Dalam tutorial ini, kita akan menginstal Selfoss RSS Reader 2.17 pada CentOS 7 LAMP VPS menggunakan server web Apache, PHP 7.1, dan database MariaDB.
Prasyarat
	- Contoh server Vultr CentOS 7 yang bersih dengan akses SSH
Langkah 1: Tambahkan Pengguna Sudo
Kami akan mulai dengan menambahkan sudopengguna baru .
Pertama, masuk ke server Anda sebagai root:
ssh root@YOUR_VULTR_IP_ADDRESS
Tambahkan pengguna baru bernama user1(atau nama pengguna pilihan Anda):
useradd user1
Selanjutnya, atur kata sandi untuk user1pengguna:
passwd user1
Saat diminta, masukkan kata sandi yang aman dan mudah diingat.
Sekarang periksa /etc/sudoersfile untuk memastikan bahwa sudoersgrup diaktifkan:
visudo
Cari bagian seperti ini:
%wheel        ALL=(ALL)       ALL
Baris ini memberi tahu kami bahwa pengguna yang merupakan anggota wheelgrup dapat menggunakan sudoperintah untuk mendapatkan roothak istimewa. Ini akan dibatalkan komentar secara default sehingga Anda dapat keluar dari file.
Selanjutnya kita perlu menambahkan user1ke wheelgrup:
usermod -aG wheel user1
Kami dapat memverifikasi user1keanggotaan grup dan memeriksa apakah usermodperintah tersebut berfungsi dengan groupsperintah:
groups user1
Sekarang gunakan superintah untuk beralih ke user1akun pengguna sudo baru :
su - user1
Prompt perintah akan diperbarui untuk menunjukkan bahwa Anda sekarang masuk ke user1akun. Anda dapat memverifikasi ini dengan whoamiperintah:
whoami
Sekarang restart sshdlayanan sehingga Anda dapat login melalui sshdengan akun pengguna sudo baru non-root yang baru saja Anda buat:
sudo systemctl restart sshd
Keluar dari user1akun:
exit
Keluar dari rootakun (yang akan memutuskan sshsesi Anda ):
exit
Anda sekarang dapat sshmasuk ke instance server dari host lokal Anda menggunakan user1akun pengguna sudo non-root baru :
ssh user1@YOUR_VULTR_IP_ADDRESS
Jika Anda ingin mengeksekusi sudo tanpa harus mengetikkan kata sandi setiap kali, maka buka /etc/sudoersfile lagi, menggunakan visudo:
sudo visudo
Edit bagian untuk wheelgrup sehingga terlihat seperti ini:
%wheel        ALL=(ALL)       NOPASSWD: ALL
Harap dicatat:  Menonaktifkan persyaratan kata sandi untuk pengguna sudo bukan praktik yang disarankan, tetapi dimasukkan di sini karena dapat membuat konfigurasi server jauh lebih mudah dan tidak membuat frustrasi, terutama selama sesi administrasi sistem yang lebih lama. Jika Anda khawatir tentang implikasi keamanan, Anda selalu dapat mengembalikan perubahan konfigurasi ke aslinya setelah Anda menyelesaikan tugas administrasi Anda.
Kapan pun Anda ingin masuk ke rootakun pengguna dari dalam sudoakun pengguna, Anda dapat menggunakan salah satu dari perintah berikut:
sudo -i
sudo su -
Anda dapat keluar dari rootakun dan kembali ke sudoakun pengguna Anda kapan saja:
exit
Langkah 2: Perbarui Sistem CentOS 7
Sebelum menginstal paket apa pun pada instance server CentOS, kami terlebih dahulu akan memperbarui sistem. 
Pastikan Anda masuk ke server menggunakan pengguna sudo non-root dan jalankan perintah berikut:
sudo yum -y update
Langkah 3: Instal Apache Web Server
Instal server web Apache:
sudo yum -y install httpd
Kemudian gunakan systemctlperintah untuk memulai dan mengaktifkan Apache untuk menjalankan secara otomatis saat boot:
sudo systemctl enable httpd
sudo systemctl start httpd
Periksa file konfigurasi Apache Anda untuk memastikan bahwa DocumentRootarahan menunjuk ke direktori yang benar:
sudo vi /etc/httpd/conf/httpd.conf 
The DocumentRootpilihan konfigurasi akan terlihat seperti ini:
DocumentRoot "/var/www/html"
Sekarang, mari kita pastikan bahwa mod_rewritemodul Apache dimuat. Kita dapat melakukan ini dengan mencari file konfigurasi modul dasar Apache untuk istilah " mod_rewrite".
Buka file: 
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Cari istilahnya mod_rewrite.
Jika mod_rewritemodul Apache dimuat, Anda akan menemukan garis konfigurasi seperti ini:
LoadModule rewrite_module modules/mod_rewrite.so
Jika baris di atas dimulai dengan tanda titik koma, Anda harus menghapus tanda titik koma untuk menghapus tanda komentar pada baris dan memuat modul. Ini, tentu saja, berlaku untuk modul Apache lain yang diperlukan juga.
Kita sekarang perlu mengedit file konfigurasi default Apache sehingga mod_rewriteakan berfungsi dengan benar dengan Selfoss RSS Reader.
Buka file:
sudo vi /etc/httpd/conf/httpd.conf
Kemudian temukan bagian yang dimulai dengan <Directory "/var/www/html">dan ubah AllowOverride noneke AllowOverride All. Hasil akhirnya (dengan semua komentar dihapus) akan terlihat seperti ini:
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
Sekarang simpan dan tutup file konfigurasi Apache.
Kami akan memulai ulang Apache pada akhir tutorial ini, tetapi memulai kembali Apache secara teratur selama instalasi dan konfigurasi sudah pasti merupakan kebiasaan yang baik, jadi mari kita lakukan sekarang:
sudo systemctl restart httpd
Langkah 4: Buka Port Firewall Web
Kita sekarang perlu membuka default HTTPdan HTTPSport karena mereka akan diblokir firewalldsecara default.
Buka port firewall:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Muat ulang firewall untuk menerapkan perubahan:
sudo firewall-cmd --reload
Anda akan melihat kata yang successditampilkan di terminal Anda setelah setiap perintah konfigurasi firewall berhasil.
Kami dapat dengan cepat memverifikasi bahwa HTTPport Apache terbuka dengan mengunjungi alamat IP atau domain dari instance server di browser:
http://YOUR_VULTR_IP_ADDRESS/
Anda akan melihat halaman web Apache default di browser Anda. 
Langkah 5: Nonaktifkan SELinux (jika diaktifkan)
SELinux adalah singkatan dari "Security Enhanced Linux". Ini merupakan peningkatan keamanan untuk Linux yang memungkinkan pengguna dan administrator lebih mengontrol kontrol akses. Ini dinonaktifkan secara default pada instance Vultr CentOS 7, tetapi kami akan membahas langkah-langkah untuk menonaktifkannya, kalau-kalau Anda tidak memulai dari instalasi yang bersih dan sebelumnya diaktifkan.
Untuk menghindari masalah izin file dengan Selfoss RSS Reader, kami perlu memastikan bahwa SELinux dinonaktifkan.
Pertama, mari kita periksa apakah SELinux diaktifkan atau dinonaktifkan dengan sestatusperintah:
sudo sestatus
Jika Anda melihat sesuatu seperti: SELinux status: disabledmaka pasti dinonaktifkan dan Anda dapat langsung beralih ke Langkah 6. Jika Anda melihat pesan lain, maka Anda harus menyelesaikan bagian ini.
Buka file konfigurasi SELinux dengan editor terminal favorit Anda:
sudo vi /etc/selinux/config
Ubah SELINUX=enforcingke SELINUX=disableddan kemudian simpan file tersebut.
Untuk menerapkan perubahan konfigurasi, SELinux memerlukan reboot server, sehingga Anda dapat me-restart server menggunakan panel kontrol Vultr atau Anda dapat menggunakan shutdownperintah:
sudo shutdown -r now
Ketika server reboot, sesi SSH Anda akan terputus dan Anda mungkin melihat pesan yang memberi tahu Anda tentang 'broken pipe'atau 'Connection closed by remote host'. Ini tidak perlu dikhawatirkan, cukup tunggu selama 20 detik atau lebih dan kemudian SSH kembali lagi (dengan nama pengguna dan domain Anda sendiri):
ssh user1@YOUR_DOMAIN
Atau (dengan nama pengguna dan alamat IP Anda sendiri):
ssh user1@YOUR_VULTR_IP_ADDRESS
Setelah masuk kembali, Anda harus memeriksa status SELinux lagi dengan sestatusperintah untuk memastikannya dinonaktifkan dengan benar:
sudo sestatus
Anda akan melihat pesan yang mengatakan SELinux status: disabled. Jika Anda melihat pesan yang mengatakan SELinux status: enabled(atau sesuatu yang serupa), Anda harus mengulangi langkah-langkah di atas dan memastikan bahwa Anda me-restart server Anda dengan benar.
Langkah 6: Instal PHP 7.1
CentOS 7 mengharuskan kami untuk menambahkan repo eksternal untuk menginstal PHP 7.1, jadi jalankan perintah berikut:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Kita sekarang dapat menginstal PHP 7.1 bersama dengan semua modul PHP yang diperlukan yang dibutuhkan oleh Selfoss RSS Reader:
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd
Langkah 7: Instal Server MariaDB (MySQL)
CentOS 7 secara default menggunakan server database MariaDB, yang merupakan pengganti yang dikembangkan, sepenuhnya open source, dikembangkan komunitas, drop-in untuk server MySQL.
Instal server database MariaDB:
sudo yum -y install mariadb-server
Mulai dan aktifkan server MariaDB untuk dijalankan secara otomatis saat boot:
sudo systemctl enable mariadb
sudo systemctl start mariadb    
Amankan instalasi server MariaDB Anda:
sudo mysql_secure_installation
Kata rootsandi akan kosong, jadi tekan saja enter ketika diminta rootkata sandi.
Ketika diminta untuk membuat pengguna MariaDB / MySQL root, pilih "Y" (untuk ya) dan kemudian masukkan rootkata sandi yang aman . Cukup jawab "Y" untuk semua pertanyaan ya / tidak lainnya karena saran default adalah opsi paling aman.
Masuk ke shell MariaDB sebagai rootpengguna MariaDB dengan menjalankan perintah berikut:
sudo mysql -u root -p
Untuk mengakses prompt perintah MariaDB, cukup masukkan rootkata sandi MariaDB saat diminta.
Jalankan pertanyaan berikut untuk membuat database MariaDB dan pengguna basis data untuk Selfoss RSS Reader:
CREATE DATABASE selfoss_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'selfoss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON selfoss_db.* TO 'selfoss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Anda dapat mengganti nama database selfoss_dbdan nama pengguna selfoss_userdengan sesuatu yang lebih sesuai dengan keinginan Anda, jika Anda mau. (Harap dicatat bahwa panjang maksimum default untuk nama pengguna di MariaDB pada CentOS 7 adalah 16 karakter). Pastikan juga Anda mengganti "UltraSecurePassword" dengan kata sandi yang benar-benar aman.
Ubah direktori kerja Anda saat ini ke direktori web default:
cd /var/www/html/
Jika Anda mendapatkan pesan kesalahan yang mengatakan sesuatu seperti 'No such file or directory'maka cobalah perintah berikut:
cd /var/www/ ; sudo mkdir html ; cd html
Direktori kerja Anda saat ini sekarang akan menjadi: /var/www/html/. Anda dapat memeriksa ini dengan perintah pwd(print working directory):
pwd
Sekarang gunakan wgetuntuk mengunduh paket instalasi Selfoss RSS Reader:
sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip
Harap dicatat:  Anda harus memeriksa versi terbaru dengan mengunjungi halaman unduh Selfoss RSS Reader .
Daftar direktori saat ini untuk memeriksa apakah Anda berhasil mengunduh file:
ls -la
Mari kita instal dengan cepat unzipsehingga kita dapat membuka zip file:
sudo yum -y install unzip
Sekarang buka kompresi arsip zip:
sudo unzip selfoss-2.17.zip
Pindahkan semua file instalasi ke direktori root web:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null
Ubah kepemilikan file web untuk menghindari masalah izin:
sudo chown -R apache:apache * ./
Mulai kembali Apache:
sudo systemctl restart httpd
Langkah 10: Instal dan Jalankan Komposer
Selfoss RSS Reader mengharuskan kita menggunakan composeruntuk mengunduh beberapa plugin, jadi mari kita instal composer:
sudo yum -y install composer
Sekarang pastikan Anda berada di direktori webroot:
cd /var/www/html
Jalankan komposer menggunakan apachepengguna:
sudo -u apache composer install
Anda akan melihat beberapa pesan peringatan composertentang tidak bisa menulis ke cache, tetapi jangan terlalu khawatir tentang itu karena semuanya masih akan menginstal dengan baik.
Kami sekarang siap untuk melanjutkan ke langkah terakhir.
	- 
	Pertama-tama kita perlu memperbarui file konfigurasi Selfoss RSS Reader config.inidengan pengaturan database yang benar, jadi pastikan Anda masih berada di direktori webroot dan salindefaults.inikeconfig.ini:
 
sudo cp -iv defaults.ini config.ini
 
- 
	Selanjutnya, buka config.inifile konfigurasi dan tambahkan nilai database berikut:
 
[globals]
db_type=mysql
db_host=localhost
db_database=selfoss_db
db_username=selfoss_user
db_password=UltraSecurePassword
db_port=3306
 
- 
	Kita sekarang perlu menambahkan hash kata sandi config.ini, tetapi pertama-tama kita harus membuatnya, jadi kunjungi URL berikut di browser Anda:
 
http://YOUR_VULTR_IP_ADDRESS/password
 Kemudian masukkan kata sandi yang Anda inginkan ke dalam Passwordbidang dan klikGenerate.
 Cukup salin nilai hash yang dihasilkan ke opsi kata sandi dalam config.inifile sehingga bagian kata sandi sekarang terlihat seperti ini:
 
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
 Catatan:  Kata sandi hash Anda jelas akan berbeda dengan hash yang ditunjukkan di atas dan Anda bebas memilih nama pengguna yang berbeda. 
- 
	Hapus semua opsi lain yang tidak diedit dari config.inifile sehingga file konfigurasi lengkap Anda terlihat mirip dengan ini:
 
[globals]
db_type=mysql
db_host=localhost
db_database=db1
db_username=u1
db_password=usecpass1
db_port=3306
username=admin
password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
salt=<long string of random chracters>
 Catatan:  Jika Anda ingin mengubah salah satu defaults.iniopsi, Anda bisa menambahkannya ke daftar opsi di atas.
 Setelah selesai mengedit file konfigurasi, Anda dapat menyimpan dan keluar file. 
- 
	Anda sekarang dapat masuk ke RSS Reader Selfoss dengan mengunjungi halaman beranda dan memasukkan nama pengguna dan kata sandi Anda: 
 http://YOUR_VULTR_IP_ADDRESS/
 
- 
	Jika Anda ingin pembaca memperbarui feed Anda secara otomatis (dan Anda hampir pasti melakukannya), Anda perlu mengedit crontab Anda: 
sudo crontab -e
 Tambahkan baris berikut untuk menyegarkan feed Anda setiap jam: 
0 * * * * apache cd /var/www/html && php cliupdate.php
 
Jika Anda belum mengonfigurasi pengaturan DNS Vultr Anda, Anda dapat melakukannya menggunakan panel kontrol Vultr DNS.
Sebaiknya konfigurasikan situs Anda untuk menggunakan SSL karena sebagian besar browser modern akan memberikan peringatan ketika situs tidak mengaktifkan SSL dan sertifikat SSL kini tersedia secara gratis.
Bagaimanapun, Anda sekarang bebas untuk mulai menambahkan feed dan menyesuaikan pembaca Anda lebih lanjut, jika Anda mau.