GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Memasang Socioboard di Ubuntu 20.04 – Toolkit Generasi Pemimpin Media Sosial

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


Ubuntu
  1. Cara menginstal VLC Media Player di Ubuntu 11.10

  2. Pusat Media Kodi 19.1 Dirilis! Cara Menginstal di Ubuntu 21.04

  3. Cara Menginstal Xnoise 0.2.15 Media Player di Ubuntu

  1. Cara Menginstal R di Ubuntu 20.04

  2. Cara Menginstal Server Media Plex di Ubuntu 20.04

  3. Cara Menginstal Server Media Plex di Ubuntu 18.04

  1. Cara Menginstal Go di Ubuntu 18.04

  2. Cara Menginstal R di Ubuntu 18.04

  3. Cara Menginstal VLC Media Player di Ubuntu 18.04