Tutorial ini akan menunjukkan cara menginstal Socioboard di Ubuntu 20.04 dengan server web Apache atau Nginx. Socioboard adalah toolkit generasi pemimpin media sosial open source yang dihosting sendiri untuk bisnis. Socioboard menyediakan layanan yang dihosting, tetapi jika Anda ingin menghosting sendiri perangkat lunak di server Anda sendiri, Anda dapat mengikuti petunjuk di bawah ini.
Fitur Papan Sosial
Jejaring sosial dimaksudkan untuk pengguna, bukan untuk bisnis. Socioboard memandang sosial dari sudut pandang bisnis dan mengisi celah-celah yang tidak dapat diisi dengan baik oleh jejaring sosial. Bisnis harus memiliki data sosial mereka dan mereka harus bertanggung jawab atas apa yang ingin mereka lakukan dengannya, membuat laporan, dan menganalisis data untuk membuat keputusan bisnis yang terinformasi dan lebih baik.
Socioboard menyediakan:
- Alat sumber terbuka yang sangat dapat disesuaikan dan skalabel
- Umpan cepat dan alat penemuan sosial interaktif
- Alat CRM Sosial termasuk catatan pelanggan bersama
- Alat kolaborasi tim yang sangat efisien
- Alat penjadwalan &penerbitan lanjutan
- Analisis canggih pada berbagai parameter
- Fitur dukungan pelanggan seperti tugas dan integrasi Helpdesk
Prasyarat
Pertama, Anda memerlukan server Linux dengan setidaknya 2GB RAM. Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis $100 di DigitalOcean. (Hanya untuk pengguna baru). Jika Anda sudah menjadi pengguna DigitalOcean, Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis senilai $50 di Vultr (hanya untuk pengguna baru). Setelah Anda memiliki akun di DigitalOcean atau Vultr, instal Ubuntu 20.04 di server Anda dan ikuti petunjuk di bawah.
Socioboard membutuhkan PHP dan MySQL/MariaDB. Untuk mengikuti tutorial ini, Anda seharusnya sudah menyiapkan tumpukan LAMP atau tumpukan LEMP. Jika Anda belum melakukannya, gunakan salah satu panduan berikut.
- Cara Menginstal tumpukan LAMP (Apache, MariaDB, PHP) di Ubuntu 20.04
- Cara Menginstal tumpukan LEMP (Nginx, MariaDB, PHP) di Ubuntu 20.04
Anda juga memerlukan nama domain. Saya mendaftarkan nama domain saya di NameCheap karena harganya murah dan mereka memberikan perlindungan privasi whois gratis seumur hidup.
Sekarang mari kita instal Socioboard.
Langkah 1:Unduh Socioboard di Server Ubuntu 20.04
Masuk ke server Ubuntu 20.04 Anda melalui SSH. Kemudian jalankan perintah berikut untuk mengunduh Socioboard versi terbaru ke server Anda.
sudo apt install git git clone https://github.com/socioboard/Socioboard-4.0.git
Setelah diunduh, pindahkan file ke /var/www/
direktori.
sudo mkdir -p /var/www/ sudo mv Socioboard-4.0 /var/www/socioboard
Kemudian kita perlu memberikan izin ke www-data
pengguna sehingga server web dapat menulis ke direktori ini.
sudo setfacl -R -m u:www-data:rwx /var/www/socioboard/
Langkah 2:Instal Node.js
Backend Socioboard dibangun di atas Node.js, yang merupakan lingkungan run-time JavaScript yang menerjemahkan kode JavaScript yang dapat dibaca manusia menjadi kode mesin, jadi kita perlu menginstal Node.js di Ubuntu 20.04 untuk menjalankan Socioboard. Tutorial ini akan menginstal rilis LTS dari Node.js (V12.x) dari repositori NodeSource.
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt install -y nodejs
nodejs
package berisi biner npm (Node.js package manager), jadi tidak perlu menginstalnya secara terpisah. Untuk memeriksa versi Node.js dan npm Anda, jalankan
node -v npm -v
Keluaran:
Langkah 3:Instal Paket Node
Pertama, instal nodemon
, sequalize
, dan mysql2
paket dalam mode global.
sudo npm install nodemon sequelize-cli sequelize mysql2 -g
Dalam /var/www/socioboard/socioboard-api/
direktori, ada 5 sub-direktori.
- umpan
- perpustakaan
- pemberitahuan
- terbitkan
- pengguna
Kita perlu pergi ke masing-masing sub-direktori ini dan menginstal paket ketergantungan. Misalnya, buka feeds
sub-direktori.
cd /var/www/socioboard/socioboard-api/feeds
Dan instal paket dependensi, yang akan ditempatkan di node_modules
direktori.
npm install
Jika ada kerentanan yang ditemukan, jalankan perintah berikut untuk memperbaiki kerentanan.
npm audit fix
Sekarang lakukan hal yang sama di 4 sub-direktori lainnya .
Langkah 4:Buat Database dan Pengguna di MariaDB
Masuk ke server database MariaDB dengan perintah berikut.
sudo mysql
Kemudian buat database untuk Socioboard. Tutorial ini memberi nama database socioboard
. Anda dapat menggunakan nama apa pun yang Anda suka.
create database socioboard;
Buat pengguna basis data. Sekali lagi, Anda dapat menggunakan nama pilihan Anda untuk pengguna ini. Ganti your_password
dengan kata sandi pilihan Anda.
create user socioboard@localhost identified by 'your_password';
Berikan pengguna ini semua hak istimewa di socioboard
basis data.
grant all privileges on socioboard.* to socioboard@localhost;
Hapus hak istimewa dan keluar.
flush privileges; exit;
Langkah 5:Siapkan Database MariaDB
Mengedit file.
sudo nano /var/www/socioboard/socioboard-api/library/sequelize-cli/config/config.json
Masukkan nama database, nama pengguna dan kata sandi.
Simpan dan tutup file. Kemudian ubah direktori.
cd /var/www/socioboard/socioboard-api/library/sequelize-cli/
Inisialisasi socioboard
basis data.
NODE_ENV=development sequelize db:migrate
Dalam /var/www/socioboard/socioboard-api/library/sequelize-cli/seeders/
direktori, ada file yang namanya diakhiri dengan application_info.js
. Jalankan perintah berikut.
NODE_ENV=development sequelize db:seed --seed 20190213051930-initialize_application_info.js
Langkah 6:Instal MongoDB
MongoDB adalah program database NoSQL berorientasi dokumen. Jalankan perintah berikut untuk mengimpor Kunci GPG publik MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Buat file daftar sumber untuk MongoDB.
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Perbarui indeks paket dan instal MongoDB.
sudo apt update sudo apt install -y mongodb-org
Mulai MongoDB.
sudo systemctl start mongod
Aktifkan mulai otomatis saat boot.
sudo systemctl enable mongod
Periksa statusnya:
systemctl status mongod
Contoh keluaran:
● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-08-03 17:39:42 HKT; 52s ago Docs: https://docs.mongodb.org/manual Main PID: 2710248 (mongod) Memory: 61.8M CGroup: /system.slice/mongod.service └─2710248 /usr/bin/mongod --config /etc/mongod.conf
Seperti yang Anda lihat, ini aktif (berjalan).
Langkah 7:Buat Database dan Pengguna di MongoDB
Masuk ke shell MongoDB.
mongo
Buat database untuk SocioBoard.
use socioboard
Anda harus memasukkan setidaknya satu dokumen ke dalam database ini. Jalankan perintah berikut untuk menyisipkan dokumen contoh.
db.new_collection.insert({ some_key: "some_value" })
Kemudian jalankan perintah berikut untuk membuat pengguna.
db.createUser( { user: "socioboard", pwd: "your_password", roles: [ { role: "readWrite", db: "socioboard" } ] } )
Tinggalkan cangkang MongoDB.
exit
Langkah 8:Siapkan Koneksi MongoDB
Mengedit file.
sudo nano /var/www/socioboard/socioboard-api/user/config/development.json
Masukkan nama database, nama pengguna dan kata sandi.
Gulir ke bawah ke akhir file dan tambahkan 3 baris berikut.
"base_path": "../../media", "payment_path": "../../media/payments", "template": "public/template/paymentTemplate.html"
Simpan dan tutup file. Kemudian edit juga 3 file berikut dan masukkan nama database MongoDB, nama pengguna dan kata sandi.
- /var/www/socioboard/socioboard-api/feeds/config/development.json
- /var/www/socioboard/socioboard-api/notification/config/development.json
- /var/www/socioboard/socioboard-api/publish/config/development.json
Langkah 9:Jalankan Layanan Mikro Socioboard
sudo nano /etc/systemd/system/socioboard-user.service
Tambahkan baris berikut. Ganti nama pengguna dengan nama pengguna asli Anda.
[Unit] Description=SocioBoard User Microservice After=multi-user.target [Service] Type=simple User=username WorkingDirectory=/var/www/socioboard/socioboard-api/user/ Environment=NODE_ENV=development ExecStart=/usr/bin/nodemon app.js Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Simpan dan tutup file.
sudo nano /etc/systemd/system/socioboard-publish.service
Tambahkan baris berikut. Ganti nama pengguna dengan nama pengguna asli Anda.
[Unit] Description=SocioBoard Publish Microservice After=multi-user.target [Service] Type=simple User=username WorkingDirectory=/var/www/socioboard/socioboard-api/publish/ Environment=NODE_ENV=development ExecStart=/usr/bin/nodemon app.js Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Simpan dan tutup file.
sudo nano /etc/systemd/system/socioboard-feeds.service
Tambahkan baris berikut. Ganti nama pengguna dengan nama pengguna asli Anda.
[Unit] Description=SocioBoard Feeds Microservice After=multi-user.target [Service] Type=simple User=username WorkingDirectory=/var/www/socioboard/socioboard-api/feeds/ Environment=NODE_ENV=development ExecStart=/usr/bin/nodemon app.js Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Simpan dan tutup file.
sudo nano /etc/systemd/system/socioboard-notification.service
Tambahkan baris berikut. Ganti nama pengguna dengan nama pengguna asli Anda.
[Unit] Description=SocioBoard Notification Microservice After=multi-user.target [Service] Type=simple User=username WorkingDirectory=/var/www/socioboard/socioboard-api/notification/ Environment=NODE_ENV=development ExecStart=/usr/bin/nodemon app.js Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Simpan dan tutup file. Kemudian mulai 4 layanan.
sudo systemctl start socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Sekarang Anda harus memeriksa status setiap layanan.
systemctl status socioboard-user systemctl status socioboard-publish systemctl status socioboard-feeds systemctl status socioboard-notification
Untuk setiap layanan, jika Anda melihat pesan seperti
service listening on http://localhost:3000
Kemudian layanan berhasil dimulai. Jika Anda tidak melihat pesan ini, berarti ada kesalahan dan Anda dapat memeriksa log di public/logs/
folder untuk melihat apa yang salah.
Jika semua layanan telah berhasil dimulai, maka aktifkan mulai otomatis saat boot.
sudo systemctl enable socioboard-user socioboard-publish socioboard-feeds socioboard-notification
Langkah 10:Siapkan Socioboard-web-php
Ubah direktori.
cd /var/www/socioboard/socioboard-web-php/
Instal Laravel.
sudo apt install composer composer global require laravel/installer
Ganti nama environmentfile.env
ke .env
.
mv environmentfile.env .env
Edit file ini.
nano .env
Masukkan URL APP dan URL API. socioboard.example.com adalah URL yang akan Anda masukkan di bilah alamat browser web untuk mengakses SocioBoard.
APP_URL=https://socioboard.exmaple.com/ API_URL=http://localhost:3000/ API_URL_PUBLISH=http://localhost:3001/ API_URL_FEEDs=http://localhost:3002/ API_URL_NOTIFY=http://localhost:3003/
Simpan dan tutup file. Kemudian instal dependensi PHP.
composer update
Selanjutnya, buat kunci aplikasi Laravel, yang akan disimpan di .env
berkas.
php artisan key:generate
Langkah 11:Menyiapkan Server Web
Kita bisa menggunakan server web Apache atau Nginx.
Apache
Jika Anda lebih suka Apache, buat file host virtual untuk Socioboard.
sudo nano /etc/apache2/sites-available/socioboard.conf
Masukkan teks berikut ke dalam file. Ganti socioboard.example.com
dengan sub-domain Anda sendiri untuk Socioboard. Jangan lupa untuk menetapkan A record untuk nama domain di pengelola DNS Anda.
<VirtualHost *:80> ServerName socioboard.example.com DocumentRoot /var/www/socioboard/socioboard-web-php/public/ <Directory /var/www/socioboard/socioboard-web-php/public/> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/socioboard.error.log CustomLog ${APACHE_LOG_DIR}/socioboard.access.log combined </VirtualHost>
Simpan dan tutup file. Kemudian aktifkan host virtual ini.
sudo a2ensite socioboard.conf
Kita perlu mengaktifkan modul rewrite.
sudo a2enmod rewrite
Mulai ulang Apache agar perubahan diterapkan.
sudo systemctl restart apache2
Nginx
Jika Anda lebih suka Nginx, buat file host virtual untuk Socioboard.
sudo nano /etc/nginx/conf.d/socioboard.conf
Masukkan teks berikut ke dalam file. Ganti socioboard.example.com
dengan sub-domain Anda sendiri untuk Socioboard. Jangan lupa untuk menetapkan A record untuk nama domain di pengelola DNS Anda.
server { listen 80; listen [::]:80; server_name socioboard.example.com; root /var/www/socioboard/socioboard-web-php/public/; index index.php index.html index.htm index.nginx-debian.html; error_log /var/log/nginx/socioboard.error; location / { try_files $uri $uri/ /index.php; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; client_max_body_size 2M; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } #enable gzip compression gzip on; gzip_vary on; gzip_min_length 1000; gzip_comp_level 5; gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml; gzip_proxied any; # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
Simpan dan tutup file. Kemudian uji konfigurasi Nginx.
sudo nginx -t
Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.
sudo systemctl reload nginx
Langkah 12:Mengaktifkan HTTPS
Untuk mengenkripsi lalu lintas HTTP, kita dapat mengaktifkan HTTPS dengan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) di server Ubuntu 20.04.
sudo apt install certbot
Jika Anda menggunakan Nginx, maka Anda juga perlu menginstal plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Selanjutnya, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Jika Anda menggunakan Apache, instal plugin Certbot Apache.
sudo apt install python3-certbot-apache
Dan jalankan perintah ini untuk mendapatkan dan menginstal sertifikat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d socioboard.yourdomain.com
Dimana
--nginx
:Gunakan plugin nginx.--apache
:Gunakan plugin Apache.--agree-tos
:Menyetujui persyaratan layanan.--redirect
:Memaksa HTTPS dengan pengalihan 301.--hsts
:Tambahkan header Strict-Transport-Security ke setiap respons HTTP. Memaksa browser untuk selalu menggunakan TLS untuk domain. Mempertahankan dari SSL/TLS Stripping.--staple-ocsp
:Mengaktifkan Stapel OCSP. Respons OCSP yang valid ditempelkan ke sertifikat yang ditawarkan server selama TLS.
Sertifikat sekarang harus diperoleh dan diinstal secara otomatis.
Langkah 13:Gunakan Papan Sosial
Sekarang Anda dapat mengakses antarmuka web SocioBoard di https://socioboard.example.com
. Anda perlu membuat akun untuk menggunakannya. Jika Anda tidak dapat membuat akun, periksa log kesalahan di /var/www/socioboard/socioboard-web-php/storage/logs/
direktori.
Socioboard akan mencoba mengirim email verifikasi kepada Anda, tetapi ternyata tidak dapat mengirim email. Untuk mengaktifkan akun Anda, Anda dapat mengubah status aktivasi dari database MariaDB. Masuk ke shell MariaDB.
sudo mysql
Gunakan socioboard
basis data.
use socioboard;
Kemudian aktifkan akun Anda.
update user_activations set activation_status = 1;
Secara default, akun Anda menggunakan paket Dasar, Anda dapat mengubah ke paket Platinum.
update user_activations set user_plan = 7;
Tinggalkan shell MariaDB.
exit
Kemudian masuk ke akun SocioBoard Anda.
Kesimpulan
Saya harap tutorial ini membantu Anda menginstal Socioboard di server Ubuntu 20.04. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik. Hati-hati