Giuseppe Cassibba 发布的文章

为何小小的单板机是智能工作以及小型办公室的未来。

 title=

随着疫情的大流行,我们的工作方式也正在发生着改变。工作的分散化正在成为所有公司需要面临的一项重要挑战。

智能办公室

即使工厂认为智能办公仅仅是通过虚拟私有网络来对员工的笔记本电脑进行远程控制,再稍微增加一点进化也可以让一些基本的办公服务离人们更近一点,这些都能够极大降低数据中心的负载,并且提高人们的工作体验。这个方案还有一个额外的影响就是从信息和通信技术(ICT)上来说消除了许多单点故障。

与其在公司外部有成百上千的工作场地,不如在世界范围内有着成百上千的小型办公室/分支,这就是所谓的“智能办公室”。

这种表述可能会让许多 ICT 专家感到恐慌,因为这种文化使得每个办公室都与一台大机器(即服务器)联系在一起,即使分散计算资源的优势非常明显。

一个不同的角度

如果你能用一块 50 美元的小开发板提供一个大服务器的服务会怎么样?如果这个小板子只需要一张 SD 卡和一个普通的 USB 电源支持,那又会怎么样呢?这就是 树莓派 是最灵活的解决方案的原因所在。

树莓派开发板是尺寸非常小的运行 Linux 的计算机。它有一个由树莓派基金会提供和维护的操作系统: 树莓派操作系统 Raspberry Pi OS 。它基于 Debian,并与这个最知名的 Linux 发行版共享许多软件包。此外,许多树莓派的开发板能够完美运行最知名的 Ubuntu 服务器,它涵盖了 ARM 处理器支持,提供了对低功耗处理器的支持。

但树莓派开发板对小公司来说也是一个很好的机会,以能够承担得起的代价获得大量的(开源)服务。但这种情况下,你必须考虑数据丢失的风险,因为你把所有的服务运行在一个小的、消费级的硬件上。不过设置正确的备份/恢复程序能够降低这些风险。

你能从树莓派开发板上提供什么服务?

大多数服务通常由更昂贵的服务器提供。这里的“大多数”取决于一些限制:

  • ARM 处理器: 一些软件包只支持 x86/x64 处理器。这是最难克服的挑战之一。但另一方面,ARM 处理器的市场份额不断增长,使得程序员为他们的软件开发了兼容 ARM 处理器的版本。
  • 内存容量: 这是一个仅限于在复杂应用以复杂的方式进行复杂的计算的情况下讨论的问题。很多时候,这只不过是关于重新审查代码、拆分步骤,并保持简单高效的问题。此外,如果一个服务虽然只服务少数几个用户,但需要大量的内存/CPU,这大概也意味着此服务没有正常工作。这可能是你消除浪费资源的旧问题的一个机会。最后,最新的树莓派开发板把内存容量升级到了 8GB,这是一个很大的提升。
  • 对服务器没有经验的用户: 这是另一个问题,你可以在基础镜像所在的树莓派的 micro-SD 卡中存储系统和运行数据。

也就是说,你能够用树莓派做很多有趣的事情。在 我的博客 里,我通过运行各种服务进行了测试 —— 从基本的 LAMP 服务器到复杂的 CRM。从简单到复杂系统,全部都是开源的,例如:

对树莓派来说,另一个有趣的用法是在你的远程办公室获得提供高级服务的 Wi-Fi 热点,并且可以从它的以太网端口进行控制。

最后,树莓派也能够运行容器,这是一个额外的工具,从这个不可思议的开发板中获得一个可用的服务世界。


via: https://opensource.com/article/22/1/raspberry-pi-business

作者:Giuseppe Cassibba 选题:lujun9972 译者:void-mori 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

手把手教你怎样以低成本的硬件和简易步骤搭建自己的社交网络。

近年来,社交网络已经革新了人们的生活习惯。人们每天都会使用社交频道与朋友和家人联系。但是涉及到隐私和数据安全时,仍有一些共同的问题。尽管社交网络创建了复杂的隐私策略来保护用户的信息,但如果你不想自己的信息被泄露,最好的办法还是把数据保存在自己的服务器上。

一个树莓派 — 多才多艺的 Raspbian Lite 版本就可以让你搭建很多有用的家庭服务(参照我的文章树莓派项目)。通过搜索开源软件你就可以实现一些令人痴迷的功能,你也可以用这个神奇的设备来感受那些功能。其中一个有趣的尝试就是在你的树莓派上安装 OSSN。

OSSN 是什么?

开源社交网络 OpenSource Social Network (OSSN)是用 PHP 写的一个快速开发社交网络软件,让你可以搭建自己的社交网站。OSSN 可以用来搭建不同类型的社交应用,如:

  • 私人内部网
  • 公用/公开网络
  • 社区

OSSN 支持的功能:

  • 照片
  • 个人资料
  • 朋友圈
  • 表情
  • 搜索
  • 聊天

OSSN 运行在 LAMP 服务器上。硬件需求很简单,却能提供强大的用户界面,也友好支持移动端。

我们需要准备什么

这个项目很简单,而且由于我们只安装远程 Web 服务,因此我们只需要一些便宜的零件就够了。我使用的是树莓派 3B+,但是用树莓派 3A+ 或其他更新的板应该也可以。

硬件:

  • 带有电源模块的树莓派 3B+
  • 一张 SD 卡(最好是性能好点的卡,至少 16 GB)
  • 一台有 SFTP 软件(如免费的 Filezilla)的桌面 PC,用来把安装包传到你的树莓派上

操作步骤

我们首先搭建一个传统的 LAMP 服务器,然后配置数据库用户和安装 OSSN。

1、安装 Raspbian Buster Lite 操作系统

你可以直接参照我的文章在你的树莓派上安装 Raspbian Buster Lite

为了确保你的系统是最新的,ssh 登录到树莓派后在终端输入下面的命令:

sudo apt-get update
sudo apt-get upgrade

2、安装 LAMP 服务

LAMP(Linux–Apache–Mysql–Php)服务通常与 MySQL 数据库配合。在我们的项目中,我们选择 MariaDB,因为它更轻量,完美支持树莓派。

安装 Apache 服务:

sudo apt-get install apache2 -y

你可以通过在浏览器输入 http://<<YouRpiIPAddress>> 来检查 Apache 是否安装正确:

安装 PHP:

sudo apt-get install php -y

安装 MariaDB 服务和 PHP connector:

sudo apt-get install mariadb-server php-mysql -y

安装 phpMyAdmin:

在 OSSN 中 phpMyAdmin 不是强制安装的,但我建议你安装,因为它可以简化数据库的管理。

sudo apt-get install phpmyadmin

在 phpMyAdmin 配置界面,执行以下步骤:

  • 按下空格和 “OK” 选择 apache(强制)。
  • 在 dbconfig-common 选择“Yes”,配置 phpMyAdmin 的数据库。
  • 输入想设置的密码,按下 “OK”。
  • 再次输入 phpMyAdmin 密码来确认,按下 “OK”。

为 phpMyAdmin 用户添加数据库权限来管理数据库:

我们用 root 用户连接 MariaDB(默认没有密码)来设置权限。

sudo mysql -uroot -p
grant all privileges on *.* to 'phpmyadmin'@'localhost';
flush privileges;
quit

最后,重启 Apache 服务:

sudo systemctl restart apache2.service

在浏览器输入 http://<<YouRpiIPAddress>>/phpmyadmin/ 来检查 phpMyAdmin 是否正常:

默认的 phpMyAdmin 登录凭证:

  • 用户名:phpmyadmin
  • 密码:在 phpMyAdmin 安装步骤中你设置的密码

3、安装 OSSN 所需的其他包和配置 PHP

在第一次配置 OSSN 前,我们还需要在系统上安装一些所需的包:

  • PHP 版本 5.6、7.0 或 7.1
  • MYSQL 5 及以上
  • 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

打开 mod\_rewrite:

sudo a2enmod rewrite

修改默认的 Apache 配置,使用 mod\_rewrite:

sudo nano /etc/apache2/sites-available/000-default.conf

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
    # 需要添加的部分开始 --------------------------------
        <Directory /var/www/html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
        </Directory>
    # 需要添加的部分结束 --------------------------------
</VirtualHost>

安装 Mcrypt:

sudo apt install php-dev libmcrypt-dev php-pear
sudo pecl channel-update pecl.php.net
sudo pecl install mcrypt-1.0.2

打开 Mcrypt 模块:

/etc/php/7.3/apache2/php.ini 文件中 extension=mcrypt.so(或取消注释):

sudo nano /etc/php/7.3/apache2/php.ini

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

搜索到 upload_max_filesize 所在的行,参照下面的设置:

upload_max_filesize = 16M

保存并退出,重启 Apache:

sudo systemctl restart apache2.service

4、安装 OSSN

创建数据库,设置用户

回到 phpmyadmin web 页面(浏览器输入 http://<<YouRpiIPAddress>>/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 下载页面 下载 OSSN 安装压缩文件,保存为文件 ossn-v5.2-1577836800.zip

使用你习惯的 SFTP 软件把整个压缩文件通过 SFTP 传到树莓派的新目录 /home/pi/download 下。常用的(默认)SFP 连接参数是:

  • 主机:你树莓派的 IP 地址
  • 用户名:pi
  • 密码:raspberry(如果没有修改过默认密码)
  • 端口: 22

在终端输入:

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 下创建。

sudo mkdir /opt/ossn_data
sudo chown -R www-data:www-data /opt/ossn_data/

在浏览器输入 http://<<YourRpiIPAddress>> 来开始安装向导。

所有项都检查完后,点击页面最下面的下一步按钮。

阅读证书验证并点击页面最下面的下一步按钮来接受证书。

输入数据库用户名,密码和你选择的数据库名字,记得也要输入 OSSN 数据文件夹名称。点击安装。

输入你的管理员账号信息,点击创建按钮。

现在所有的工作应该都完成了。点击结束,进入管理员首页。

你可以通过 URL http://<<YourRpiIPAddress>>/administrator 进入管理员控制面板,普通用户可以访问链接是 http://<<YourRpiIPAddress>>

本文首发在 peppe8o.com。已获得转载授权。


via: https://opensource.com/article/20/3/raspberry-pi-open-source-social

作者:Giuseppe Cassibba 选题:lujun9972 译者:lxbwolf 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用这些简单、经济高效的开源工具构建自己真正的私人聊天和消息解决方案。

互联网提供了大量免费的消息服务。像 WhatsApp 和 Viber 这样的应用已经是我们日常生活的一部分,也是我们与亲朋好友沟通的最常见方式。但是,安全意识的提高,让人们对真正的私密聊天解决方案的需求越来越大。此外,消息类应用在我们的设备中占用了大量空间,因此一个备用聊天渠道可能对于我们与朋友分享媒体、信息和联系人很有作用。

今天,我们将了解如何使用树莓派和 Rocket.Chat 安装一个私人聊天和消息服务器。

什么是 Rocket.Chat?

Rocket.Chat 是一个开源解决方案,它提供了一个增强的聊天服务。它包括媒体共享、屏幕共享和视频/音频呼叫支持等协作工具。

它可以通过浏览器或从所有主要应用商店(Google Play、App Store 等)下载使用。

除了社区版本外,Rocket.Chat 还提供企业版和专业版,包括支持和其他附加功能。

我们需要什么

对于这个项目,我将使用更便宜的树莓派 3A+。树莓派 3B 和 3B+ 以及树莓派 4B 应该也可以用同样的方法。

我也建议使用一块高性能 SD 卡,因为 Rocket.Chat 会给树莓派带来很大的负载。如其他文章中所述,高性能 SD 卡可显著提高 Raspbian 操作系统的性能。

我们将使用 Raspbian 的精简版本,拥有预配置的 WiFi 访问和 SSH 服务,因此不需要键盘或 HDMI 线缆。

分步过程

安装最新版本的 Raspbian Buster Lite 开始。

我们将使用 Snap 简化 Rocket.Chat 安装。通过 SSH 登录并从终端输入:

sudo apt-get update
sudo apt-get upgrade

安装 Snap:

sudo apt-get install snapd

安装 Snap 后,我们需要重启系统使其正常工作:

sudo reboot

再次通过 SSH 登录,并用以下简单的命令安装 Rocket.Chat:

sudo snap install rocketchat-server

从终端安装后,请等待一段时间,让 Rocket.Chat 初始化数据库和服务。休息一下,几分钟后,你应该能够在浏览器中访问 http://<<YOUR_RPI_IP_ADDRESS>>:3000,你应该看到以下内容:

 title=

填写所需的表单就可以了。经过四个简单的设置窗口后,你应该会进入 Rocket.Chat 主页:

 title=

享受吧!

本文最初发表在 peppe8o.com,并获许重新发布。


via: https://opensource.com/article/20/3/raspberry-pi-rocketchat

作者:Giuseppe Cassibba 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出