在过去的几年里,社交网络已经彻底改变了人们的生活。人们每天都在使用社交渠道与朋友和家人保持联系。但是,关于隐私和数据安全的一个常见问题仍然存在。即使社交网络已经创建了复杂的隐私政策来保护用户,但如果你不想让你的数据公开,将你的数据维护在你自己的服务器上始终是最佳选择。
同样,一个树莓派——Raspbian Lite 版本非常通用,可以帮助你部署许多有用的家庭服务(另请参阅我的 树莓派项目 文章)。通过搜索开源软件并使用这个神奇的设备进行测试,可以实现一些令人上瘾的功能。一个值得尝试的有趣例子是在你的树莓派中安装 OpenSource Social Network。
什么是 OpenSource Social Network?
OpenSource Social Network (OSSN) 是一款用 PHP 编写的快速开发社交网络软件,它本质上允许你创建一个社交网络网站。OSSN 可用于构建不同类型的社交应用程序,例如
- 私有 Intranet
- 公共/开放网络
- 社区
OSSN 支持诸如以下功能:
- 照片
- 个人资料
- 好友
- 表情符号
- 搜索
- 聊天
OSSN 运行在 LAMP 服务器上。它对硬件要求非常低,但拥有出色的用户界面,而且还对移动设备友好。
我们需要什么
这个项目非常简单,因为我们只安装远程 Web 服务,所以我们只需要一些廉价的零件。我将使用树莓派 3 Model B+,但它也应该适用于树莓派 3 Model A+ 或更新的开发板。
硬件
- 带有电源的树莓派 3 Model B+
- 一张 micro SD 卡(最好是性能良好的卡,至少 16GB)
- 一台带有 SFTP 软件的台式电脑(例如免费的 Filezilla),用于将安装包传输到你的 RPI。
逐步操作步骤
我们将首先设置一个经典的 LAMP 服务器。 然后我们将设置数据库用户并安装 OpenSource Social Network。
1. 安装 Raspbian Buster Lite 操作系统
对于此步骤,你可以简单地按照我的 在你的树莓派中安装 Raspbian Buster Lite 文章进行操作。
确保你的系统是最新的。通过 ssh 终端连接并键入以下命令
sudo apt-get update
sudo apt-get upgrade
LAMP (Linux–Apache–Mysql–Php) 服务器通常附带 MySQL 数据库。在我们的项目中,我们将使用 MariaDB 代替,因为它更轻量级,并且可以与树莓派一起使用。
3. 安装 Apache 服务器
sudo apt-get install apache2 -y

4. 安装 PHP
sudo apt-get install php -y
sudo apt-get install mariadb-server php-mysql -y
PhpMyAdmin 在 OpenSource Social Network 中不是强制性的,但我建议你安装它,因为它简化了数据库管理。
sudo apt-get install phpmyadmin
- 使用空格键选择 apache (强制性),然后按 OK。
- 选择 Yes 以使用 dbconfig-common 为 phpMyAdmin 配置数据库。
- 输入你喜欢的 phpMyAdmin 密码,然后按 OK。
- 再次输入你的 phpMyAdmin 密码以确认,然后按 OK
7. 授予 phpMyAdmin 用户 DB 权限以管理 DB
我们将使用 root 用户(默认密码为空)连接到 MariaDB 以授予权限。请记住在每行命令的末尾使用分号,如下所示
sudo mysql -uroot -p
grant all privileges on *.* to 'phpmyadmin'@'localhost';
flush privileges;
quit
sudo systemctl restart apache2.service

默认的 phpMyAdmin 登录凭据是
- 用户:phpmyadmin
- 密码:你在 phpMyAdmin 安装步骤中设置的密码
安装其他 Open Source Social Network 所需的软件包并设置 PHP
我们需要为 OpenSource Social Network 的首次设置向导准备我们的系统。所需的软件包是
- PHP 版本 5.6、7.0、7.1 中的任何一个
- MYSQL 5 OR >
- APACHE
- MOD_REWRITE
- 应启用 PHP 扩展 cURL & Mcrypt
- PHP GD 扩展
- PHP ZIP 扩展
- 启用 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
1. 启用 MOD_REWRITE
sudo a2enmod rewrite
sudo nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# SECTION TO ADD --------------------------------
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
# END SECTION TO ADD --------------------------------
</VirtualHost>
sudo apt install php-dev libmcrypt-dev php-pear
sudo pecl channel-update pecl.php.net
sudo pecl install mcrypt-1.0.2
sudo nano /etc/php/7.3/apache2/php.ini
6. 我建议的另一个设置是将 PHP 最大上传文件大小编辑为 16 MB
sudo nano /etc/php/7.3/apache2/php.ini
upload_max_filesize = 16M
sudo systemctl restart apache2.service
安装 OSSN
1. 创建 DB 并设置用户
返回 phpmyadmin 网页(浏览 "http://<<你的树莓派 IP 地址>>/phpmyadmin/")并登录
用户:phpmyadmin
密码:在 phpmyadmin 安装步骤中设置的密码
点击数据库选项卡

创建一个数据库,并记下数据库名称,因为稍后在安装过程中需要输入它。

现在是为 OSSN 创建数据库用户的时候了。 在这个例子中,我将使用以下凭据
用户:ossn_db_user
密码:ossn_db_password
因此,终端命令将是(如果之前没有更改,root 密码仍然为空)
sudo mysql -uroot -p
CREATE USER 'ossn_db_user'@'localhost' IDENTIFIED BY 'ossn_db_password';
GRANT ALL PRIVILEGES ON ossn_db.* TO 'ossn_db_user'@'localhost';
flush privileges;
quit
从 OSSN 下载页面 在你的本地 PC 上下载 OSSN 安装 zip 文件。 在撰写本文时,此文件名为 "ossn-v5.2-1577836800.zip"。
使用你喜欢的 SFTP 软件,通过 SFTP 将整个 zip 文件传输到树莓派上 "/home/pi/download" 路径下的一个新文件夹中。 常见的(默认)SFP 连接参数是
- 主机:你的树莓派 IP 地址
- 用户:pi
- 密码:raspberry (如果你没有更改 pi 的默认密码)
- 端口:22
返回终端
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
sudo cp -R /home/pi/download/ossn-v5.2-1577836800/* ./ #Copy installation files to web directory
sudo chown -R www-data:www-data ./
sudo mkdir /opt/ossn_data
sudo chown -R www-data:www-data /opt/ossn_data/

所有检查都应该没问题。 点击页面底部的 Next 按钮。

阅读许可验证并点击页面底部的 Next 按钮以接受。

输入你选择的数据库用户、密码和 DB 名称。 还要记住输入 OSSN 数据文件夹。 按 Install。

输入你的管理员帐户信息并按 Create 按钮。

现在一切都应该没问题了。 按 Finish 以访问管理仪表板。

因此,可以通过 URL "http://<<你的树莓派 IP 地址>>/administrator" 访问管理面板,而用户链接将是 "http://<<你的树莓派 IP 地址>>"。

本文最初发表在 peppe8o.com 上。 经许可转载。
25 条评论