diff --git a/translated/tech/20200320 Build a private social network with a Raspberry Pi.md b/translated/tech/20200320 Build a private social network with a Raspberry Pi.md index 5325d7e67f..9d7e8e7fea 100644 --- a/translated/tech/20200320 Build a private social network with a Raspberry Pi.md +++ b/translated/tech/20200320 Build a private social network with a Raspberry Pi.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (lxbwolf) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Build a private social network with a Raspberry Pi) @@ -9,23 +9,23 @@ 用树莓派搭建一个私人社交网络 ====== -手把手教你怎样以低硬件成本和简易步骤搭建自己的社交网络。 + +> 手把手教你怎样以低成本的硬件和简易步骤搭建自己的社交网络。 + ![Team of people around the world][1] -近年来,社交网络已经革新了人们的生活习惯。为了维持与朋友和家人的联系,人们每天都会使用社交频道。但是涉及到隐私和数据安全时,仍有一些普遍问题。尽管社交网络创建了复杂的隐私策略来保护用户的信息,但如果你不想自己的信息被泄露,最好的办法还是把数据保存在自己的服务器上。 +近年来,社交网络已经革新了人们的生活习惯。人们每天都会使用社交频道与朋友和家人联系。但是涉及到隐私和数据安全时,仍有一些共同的问题。尽管社交网络创建了复杂的隐私策略来保护用户的信息,但如果你不想自己的信息被泄露,最好的办法还是把数据保存在自己的服务器上。 -一个树莓派 — 多才多艺的 Raspbian Lite 版本就可以让你搭建很多有用的家庭服务(参照我的文章[树莓派项目][2])。通过搜索开源软件你就可以实现一些令人痴迷的功能,你也可以用这个神奇的设备来感受那些功能。其中一个有趣的尝试就是在你的树莓派上安装 OSSN(译注:OpenSource Social Network)。 +一个树莓派 — 多才多艺的 Raspbian Lite 版本就可以让你搭建很多有用的家庭服务(参照我的文章[树莓派项目][2])。通过搜索开源软件你就可以实现一些令人痴迷的功能,你也可以用这个神奇的设备来感受那些功能。其中一个有趣的尝试就是在你的树莓派上安装 OSSN。 -### OSSN是什么? +### OSSN 是什么? -[OSSN][3] 是用 PHP 写的一个快速开发社交网络软件,让你可以搭建自己的社交网站。OSSN 可以用来搭建不同类型的社交应用,如: +[开源社交网络][3]OpenSource Social Network(OSSN)是用 PHP 写的一个快速开发社交网络软件,让你可以搭建自己的社交网站。OSSN 可以用来搭建不同类型的社交应用,如: * 私人内部网 * 公用/公开网络 * 社区 - - OSSN 支持的功能: * 照片 @@ -35,13 +35,11 @@ OSSN 支持的功能: * 搜索 * 聊天 - - OSSN 运行在 LAMP 服务器上。硬件需求很简单,却能提供强大的用户界面,也友好支持移动端。 ### 我们需要准备什么 -这个项目很简单,而且由于我们只安装远程 web 服务,因此我们只需要一些便宜的零件就够了。我使用的是树莓派 3B+,但是用树莓派 3A+ 或其他更新的板应该也可以。 +这个项目很简单,而且由于我们只安装远程 Web 服务,因此我们只需要一些便宜的零件就够了。我使用的是树莓派 3B+,但是用树莓派 3A+ 或其他更新的板应该也可以。 硬件: @@ -49,76 +47,66 @@ OSSN 运行在 LAMP 服务器上。硬件需求很简单,却能提供强大的 * 一张 SD 卡(最好是性能好点的卡,至少 16 GB) * 一台有 SFTP 软件(如免费的 [Filezilla][4])的桌面 PC,用来把安装包传到你的树莓派上 - - ### 操作步骤 我们首先搭建一个传统的 LAMP 服务器,然后配置数据库用户和安装 OSSN。 -#### 1\. 安装 Raspbian Buster Lite 操作系统 +#### 1、安装 Raspbian Buster Lite 操作系统 你可以直接参照我的文章[在你的树莓派上安装 Raspbian Buster Lite][5]。 为了确保你的系统是最新的,ssh 登录到树莓派后在终端输入下面的命令: - ```bash sudo apt-get update sudo apt-get upgrade ``` -#### 2\. 安装 LAMP 服务 +#### 2、安装 LAMP 服务 LAMP(Linux–Apache–Mysql–Php)服务通常与 MySQL 数据库配合。在我们的项目中,我们选择 MariaDB,因为它更轻量,完美支持树莓派。 -#### 3\. 安装 Apache 服务: - +安装 Apache 服务: ``` -`sudo apt-get install apache2 -y` +sudo apt-get install apache2 -y ``` 你可以通过在浏览器输入 `http://<>` 来检查 Apache 是否安装正确: ![][6] -#### 4\. 安装 PHP: - +安装 PHP: ``` -`sudo apt-get install php -y` +sudo apt-get install php -y ``` -#### 5\. 安装 MariaDB 服务和 PHP connector: - +安装 MariaDB 服务和 PHP connector: ``` -`sudo apt-get install mariadb-server php-mysql -y` +sudo apt-get install mariadb-server php-mysql -y ``` -#### 6\. 安装 phpMyAdmin: +安装 phpMyAdmin: 在 OSSN 中 phpMyAdmin 不是强制安装的,但我建议你安装,因为它可以简化数据库的管理。 - ``` -`sudo apt-get install phpmyadmin` +sudo apt-get install phpmyadmin ``` 在 phpMyAdmin 配置界面,执行以下步骤: - * 按下空格和 OK 选择 apache(强制)。 - * 在 dbconfig-common 选择是,配置 phpMyAdmin 的数据库。 - * 输入想设置的密码,按下 OK。 - * 再次输入 phpMyAdmin 密码来确认,按下 OK。 + * 按下空格和 “OK” 选择 apache(强制)。 + * 在 dbconfig-common 选择“Yes”,配置 phpMyAdmin 的数据库。 + * 输入想设置的密码,按下 “OK”。 + * 再次输入 phpMyAdmin 密码来确认,按下 “OK”。 - - -#### 7\. 为 phpMyAdmin 用户添加数据库权限来管理数据库: +为 phpMyAdmin 用户添加数据库权限来管理数据库: 我们用 root 用户连接 MariaDB(默认没有密码)来设置权限。 - ``` sudo mysql -uroot -p grant all privileges on *.* to 'phpmyadmin'@'localhost'; @@ -126,11 +114,10 @@ flush privileges; quit ``` -#### 8\. 最后,重启 Apache 服务: - +最后,重启 Apache 服务: ``` -`sudo systemctl restart apache2.service` +sudo systemctl restart apache2.service ``` 在浏览器输入 `http://<>/phpmyadmin/` 来检查 phpMyAdmin 是否正常: @@ -139,52 +126,44 @@ quit 默认的 phpMyAdmin 登录凭证: - * 用户名:phpmyadmin + * 用户名:`phpmyadmin` * 密码:在 phpMyAdmin 安装步骤中你设置的密码 - - -### 安装 OSSN 所需的其他包和配置 PHP +#### 3、安装 OSSN 所需的其他包和配置 PHP 在第一次配置 OSSN 前,我们还需要在系统上安装一些所需的包: - * PHP 版本 5.6,7.0 或 7.1 + * PHP 版本 5.6、7.0 或 7.1 * MYSQL 5 及以上 * APACHE * MOD_REWRITE * 需要打开 PHP 扩展 cURL 和 Mcrypt * PHP GD 扩展 * PHP ZIP 扩展 - * 打开 PHP 设置 allow_url_fopen + * 打开 PHP 设置 `allow_url_fopen` * PHP JSON 支持 * PHP XML 支持 * PHP OpenSSL - - 在终端输入以下命令来安装上述包: - ``` -`sudo apt-get install php7.3-curl php7.3-gd php7.3-zip php7.3-json php7.3-xml` +sudo apt-get install php7.3-curl php7.3-gd php7.3-zip php7.3-json php7.3-xml ``` -#### 1\. 打开 MOD_REWRITE: - +打开 mod_rewrite: ``` -`sudo a2enmod rewrite` +sudo a2enmod rewrite ``` -#### 2\. 修改默认的 Apache 配置,使用 mod_rewrite: - +修改默认的 Apache 配置,使用 mod_rewrite: ``` -`sudo nano /etc/apache2/sites-available/000-default.conf` +sudo nano /etc/apache2/sites-available/000-default.conf ``` -#### 3\. 在 **000-default.conf** 文件中添加下面的内容: - +在 `000-default.conf` 文件中添加下面的内容: ```ini @@ -192,18 +171,17 @@ quit DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined - # SECTION TO ADD -------------------------------- + # 需要添加的部分开始 -------------------------------- Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted - # END SECTION TO ADD -------------------------------- + # 需要添加的部分结束 -------------------------------- ``` -#### 4\. 安装 Mcrypt: - +安装 Mcrypt: ```bash sudo apt install php-dev libmcrypt-dev php-pear @@ -211,45 +189,42 @@ sudo pecl channel-update pecl.php.net sudo pecl install mcrypt-1.0.2 ``` -#### 5\. 在 `/etc/php/7.3/apache2/php.ini` 文件中添加 `extension=mcrypt.so`(或取消注释)打开 Mcrypt 模块: +打开 Mcrypt 模块: +在 `/etc/php/7.3/apache2/php.ini` 文件中 `extension=mcrypt.so`(或取消注释): ```bash sudo nano /etc/php/7.3/apache2/php.ini ``` -**allow_url_fopen** 应该已经在 `/etc/php/7.3/apache2/php.ini` 文件中打开了。OpenSSL 应该在 php7.3 中安装了。 - -#### 6\. 我建议的另一个设置是把 PHP 最大上传文件数修改为 16 MB: +`allow_url_fopen` 应该已经在 `/etc/php/7.3/apache2/php.ini` 文件中打开了。OpenSSL 应该在 php7.3 中安装了。 +我建议的另一个设置是把 PHP 最大上传文件数修改为 16 MB: ``` -`sudo nano /etc/php/7.3/apache2/php.ini` +sudo nano /etc/php/7.3/apache2/php.ini ``` -#### 7\. 搜索到 **upload_max_filesize** 所在的行,参照下面的设置: - +搜索到 `upload_max_filesize` 所在的行,参照下面的设置: ``` -`upload_max_filesize = 16M` +upload_max_filesize = 16M ``` -#### 8\. 保存并退出,重启 Apache: - +保存并退出,重启 Apache: ``` -`sudo systemctl restart apache2.service` +sudo systemctl restart apache2.service ``` -### 安装 OSSN +#### 4、安装 OSSN -#### 1\. 创建数据库,设置用户: +##### 创建数据库,设置用户 -回到 phpmyadmin web页面(浏览器输入 `http://<>/phpmyadmin/`)并登录: +回到 phpmyadmin web 页面(浏览器输入 `http://<>/phpmyadmin/`)并登录: -用户名: phpmyadmin - -密码:在 phpMyAdmin 安装步骤中你设置的密码 +- 用户名: `phpmyadmin` +- 密码:在 phpMyAdmin 安装步骤中你设置的密码 点击数据库标签页: @@ -261,13 +236,11 @@ sudo nano /etc/php/7.3/apache2/php.ini 现在为 OSSN 创建一个数据库用户,我使用下面的凭证: -用户名: ossn_db_user - -密码: ossn_db_password +- 用户名: `ossn_db_user` +- 密码: `ossn_db_password` 在终端输入下面的命令(如果你没有修改过密码,root 密码应该仍然是空): - ```bash sudo mysql -uroot -p CREATE USER 'ossn_db_user'@'localhost' IDENTIFIED BY 'ossn_db_password'; @@ -276,34 +249,30 @@ flush privileges; quit ``` -#### 2\. 安装 OSSN 软件: +##### 安装 OSSN 软件 在你 PC 上从 [OSSN 下载页面][10] 下载 OSSN 安装压缩文件,保存为文件 `ossn-v5.2-1577836800.zip`。 使用你习惯的 SFTP 软件把整个压缩文件通过 SFTP 传到树莓派的新目录 `/home/pi/download` 下。常用的(默认)SFP 连接参数是: * 主机:你树莓派的 IP 地址 - * 用户名:pi + * 用户名:`pi` * 密码:raspberry(如果没有修改过默认密码) * 端口: 22 - - 在终端输入: - ```bash -cd /home/pi/download/ #Enter directory where OSSN installation files have been transferred -unzip ossn-v5.2-1577836800.zip #Extracts all files from zip -cd /var/www/html/ #Enter Apache web directory -sudo rm index.html #Removes Apache default page - we'll use OSSN one +cd /home/pi/download/ # 进入上传的 OSSN 安装文件的目录。 +unzip ossn-v5.2-1577836800.zip # 从压缩包中提取所有文件 +cd /var/www/html/ # 进入 Apache Web 目录 +sudo rm index.html # 删除 Apache 默认页面 - 我们将使用 OSSN sudo cp -R /home/pi/download/ossn-v5.2-1577836800/* ./ #Copy installation files to web directory sudo chown -R www-data:www-data ./ ``` 创建数据文件夹:OSSN 需要一个文件夹来存放数据。出于安全目的,OSSN 建议这个文件夹创建在公开文档根目录之外。所以,我们在 `/opt` 下创建。 - ```bash sudo mkdir /opt/ossn_data sudo chown -R www-data:www-data /opt/ossn_data/ @@ -337,7 +306,7 @@ sudo chown -R www-data:www-data /opt/ossn_data/ ![][17] -*本文首发在 [peppe8o.com][18]。已获得转载授权。* +本文首发在 [peppe8o.com][18]。已获得转载授权。 -------------------------------------------------------------------------------- @@ -346,7 +315,7 @@ via: https://opensource.com/article/20/3/raspberry-pi-open-source-social 作者:[Giuseppe Cassibba][a] 选题:[lujun9972][b] 译者:[lxbwolf](https://github.com/lxbwolf) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出