Cách cài đặt nền tảng mạng xã hội Friendica trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Friendica là một nền tảng mạng xã hội miễn phí, mã nguồn mở và phi tập trung giúp bạn xây dựng và duy trì các dự án mạng xã hội của riêng mình. Nó có hỗ trợ tích hợp cho ActivityPub bao gồm Mastodon, Hubzilla, OStatus, Pleroma và nhiều hơn nữa. Nó cho phép bạn nhập các trang web và blog của mình vào luồng xã hội của bạn thông qua nguồn cấp RSS/Atom. Nó cung cấp bảng điều khiển người dùng và quản trị mạnh mẽ giúp bạn quản lý mạng xã hội của mình từ mọi thiết bị.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Friendica với Apache và Let's Encrypt SSL trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 20.04.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình cho máy chủ.

Bắt đầu​

Trước khi bắt đầu, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng lệnh sau:
Mã:
apt-get update -y
Sau khi máy chủ của bạn được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt LAMP Server​

Friendica chạy trên máy chủ web, được viết bằng PHP và sử dụng MySQL làm cơ sở dữ liệu phụ trợ. Vì vậy, ngăn xếp LAMP phải được cài đặt trong hệ thống của bạn. Nếu chưa cài đặt, bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-gmp php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-imagick php-xml php-cli php-zip php-sqlite3 curl git -y
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và thực hiện một số thay đổi:
Mã:
nano /etc/php/7.4/apache2/php.ini
Thay đổi các dòng sau:
Mã:
memory_limit = 256Mupload_max_filesize = 100Mmax_execution_time = 300max_input_vars = 1500date.timezone = Asia/Kolkata
Lưu và đóng tệp khi bạn đã hoàn tất.

Tạo Cơ sở dữ liệu Friendica​

Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho Friendica. Trước tiên, hãy kết nối với MySQL bằng lệnh sau:
Mã:
mysql
Sau khi kết nối, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE friendicadb;
MariaDB [(none)]> CREATE USER 'friendica'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu Friendica bằng lệnh sau:
Mã:
MariaDB [(none)]> GRANT ALL ON friendicadb.* TO 'friendica'@'localhost' WITH GRANT OPTION;
Tiếp theo, flush các đặc quyền và thoát khỏi MySQL bằng lệnh sau:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tải xuống Friendica​

Trước khi tải xuống Friendica, bạn sẽ cần cài đặt Composer trong hệ thống của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install composer -y
Sau khi cài đặt, hãy thay đổi thư mục thành gốc web Apache và tải xuống phiên bản Friendica mới nhất từ kho lưu trữ Git:
Mã:
cd /var/www/html
git clone https://github.com/friendica/friendica.git
Sau khi tải xuống hoàn tất, hãy thay đổi thư mục thành friendica và cài đặt các phụ thuộc PHP cần thiết bằng lệnh sau:
Mã:
cd friendica
composer install --no-dev
Tiếp theo, tải xuống các tiện ích bổ sung Friendica bằng lệnh sau:
Mã:
git clone https://github.com/friendica/friendica-addons.git
Tiếp theo, đặt quyền sở hữu và quyền phù hợp cho thư mục friendica:
Mã:
chown -R www-data:www-data /var/www/html/friendica/
chmod -R 755 /var/www/html/friendica/
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Apache cho Friendica​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache để lưu trữ Friendica. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/friendica.conf
Thêm các dòng sau:
Mã:
 ServerAdmin [emailprotected] DocumentRoot /var/www/html/friendica ServerName friendica.example.com  Options +FollowSymlinks AllowOverride All Require all granted  ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
Lưu và đóng tệp sau đó bật máy chủ ảo Apache và viết lại mô-đun bằng lệnh sau:
Mã:
a2ensite friendica.conf
a2enmod rewrite
Tiếp theo, tải lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl restart apache2
Bạn có thể xác minh trạng thái của dịch vụ Apache bằng lệnh sau:
Mã:
systemctl status apache2
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2021-02-07 09:20:58 UTC; 6 giây trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 33243 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) PID chính: 33259 (apache2) Nhiệm vụ: 6 (giới hạn: 2353) Bộ nhớ: 15,1M CGroup: /system.slice/apache2.service ??33259 /usr/sbin/apache2 -k start ??33260 /usr/sbin/apache2 -k start ??33261 /usr/sbin/apache2 -k start ??33262 /usr/sbin/apache2 -k start ??33263 /usr/sbin/apache2 -k start ??33264 /usr/sbin/apache2 -k start07/02 09:20:58 ubuntu2004 systemd[1]: Đang khởi động Máy chủ HTTP Apache...

Truy cập Bảng điều khiển Friendica​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Friendica bằng URL . Bạn sẽ được chuyển hướng đến trang kiểm tra hệ thống:



Đảm bảo rằng tất cả các phụ thuộc PHP đã được cài đặt, sau đó nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Cung cấp tên miền, đường dẫn cài đặt và nhấp vào nút Gửi. Bạn sẽ thấy trang sau:



Cung cấp tên cơ sở dữ liệu, tên người dùng cơ sở dữ liệu, mật khẩu và nhấp vào Gửi. Bạn sẽ thấy trang Cài đặt trang web:



Cung cấp email, ngôn ngữ, múi giờ của quản trị viên và nhấp vào nút Gửi. Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút trang đăng ký và hoàn tất quy trình đăng ký để truy cập Friendica.

Bảo mật Friendica bằng Let's Encrypt SSL​

Luôn là một ý tưởng hay khi bảo mật trang web của bạn bằng Let's Encrypt SSL. Bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt và quản lý SSL. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
Sau khi Certbot được cài đặt, hãy chạy lệnh sau để bảo mật trang web của bạn bằng Let's Encrypt SSL:
Mã:
certbot --apache -d friendica.example.com
Bạn sẽ được yêu cầu cung cấp email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator standalone, Installer NoneNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có muốn chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CCác plugin đã chọn: Authenticator apache, Installer apacheNhận chứng chỉ mớiThực hiện các thử thách sau:http-01 challenge cho friendica.example.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/friendica-le-ssl.confĐã bật mô-đun Apache socache_shmcbĐã bật mô-đun Apache sslTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/friendica-le-ssl.confĐã bật trang web khả dụng: /etc/apache2/sites-available/friendica-le-ssl.conf
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho trang web của bạn:
Mã:
Bật mô-đun viết lại ApacheĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/friendica.conf sang ssl vhost trong /etc/apache2/sites-available/friendica-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://friendica.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=friendica.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/friendica.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/friendica.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 23-10-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le
Bây giờ, bạn có thể truy cập trang web của mình một cách an toàn bằng URL https://friendica.example.com.

Kết luận​

Xin chúc mừng! bạn đã cài đặt và cấu hình thành công nền tảng mạng xã hội Friendica trên máy chủ Ubuntu 20.04. Bây giờ bạn có thể quản lý cộng đồng mạng xã hội của mình từ vị trí trung tâm.
 
Back
Bên trên