如何在Fedora 26 VPS上安装Lychee 3.1 Photo Album
圣地学子
・18 分钟阅读
使用不同的系统?
- 如何在Centos 7 VPS上安装 Lychee 3.1 Photo Album
- 如何在Debian 9 VPS上安装 Lychee 3.1 Photo Album
- 如何在FreeBSD 11 VPS上安装 Lychee 3.1 Photo Album
- 如何在Ubuntu 16.04 VPS上安装Lychee 3.1 Photo Album
Lychee 3.1 Photo Album 是一个简单,而且灵活的,免费的,开源的照片管理工具,它运行在VPS服务器上,它在几秒钟内安装,使你能够快速,安全地上传,管理和共享照片,Lychee 3.1支持Dropbox导入,(使用有效的插件应用程序密钥),它可以通过Plug-Ins扩展,可以同步任何目录,通过SSH上传照片。
在本教程中,我们将使用ApacheWeb服务器,PHP7.1和Mariadb数据库在Fedora26 VPS上安装Lychie3.1 Photo Album。
前提条件
- 有SSH访问权限的干净Fedora26服务器实例
步骤1:添加sudo用户
我们会从添加一个新的sudo
用户开始。
首先,作为root
登录到服务器:
ssh root@YOUR_VULTR_IP_ADDRESS
添加一个名为user1
(或你的首选用户名)的新用户:
useradd user1
接下来,为user1
用户设置密码:
passwd user1
现在检查/etc/sudoers
文件以确保启用了sudoers
组:
visudo
查找这样的部分:
%wheel ALL=(ALL) ALL
确保未注释,这一行告诉我们是wheel
组成员的用户可以使用sudo
命令获得root
权限。
编辑完文件后,可以按Esc
保存,并且退出,然后输入:wq
到"写入"和"退出"
接下来,我们需要将user1
添加到wheel
组:
usermod -aG wheel user1
可以验证user1
组成员身份,并检查usermod
命令是否与groups
命令一起使用:
groups user1
现在使用su
命令切换到新的sudo用户user1
帐户:
su -user1
命令提示会更新以指示你现在已登录到user1
帐户,你可以使用whoami
命令来验证:
whoami
现在重启sshd服务,以便你可以通过创建sudo用户帐户登录到ssh :
sudo systemctl restart sshd
退出user1
帐户:
exit
退出root
帐户(它会中断你的ssh
会话):
exit
现在你可以使用sudo用户从本地主机进入服务器实例ssh user1 account :
ssh user1@YOUR_VULTR_IP_ADDRESS
如果你希望在每次不需要键入密码的情况下执行sudo,请使用visudo
再次打开/etc/sudoers
文件:
sudo visudo
编辑wheel
组的节,使它看起来像这样:
%wheel ALL=(ALL) NOPASSWD: ALL
无论什么时候要从sudo
用户帐户登录到root
用户帐户,都可以使用以下命令之一:
sudo -i
sudo su -
你可以退出root
帐户,并通过简单地键入以下内容返回到你的sudo
用户帐户:
exit
步骤2更新Fedora 26系统
在Fedora服务器实例上安装任何软件包之前,首先要更新系统。
确保你使用非根sudo用户登录到服务器,并运行以下命令:
sudo dnf -y update
步骤3安装Apache Web服务器
安装Apache网络服务器:
sudo dnf -y install httpd
然后使用systemctl
命令启动,并且使Apache在引导时自动执行:
sudo systemctl enable httpd
sudo systemctl start httpd
检查Apache配置文件以确保DocumentRoot
指令指向正确的目录:
sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot
配置选项会如下所示:
DocumentRoot"/var/www/html"
现在,让我们来确认mod_rewrite
Apache模块已经加载,我们可以通过在Apache基本模块配置文件中搜索术语"mod_rewrite "来完成此操作。
打开该文件:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
搜索术语mod_rewrite
。
如果加载mod_rewrite
Apache模块,你会发现一个类似这样的配置行:
LoadModule rewrite_module modules/mod_rewrite.so
我们现在需要编辑Apache默认配置文件,以便mod_rewrite
能够正确地使用 Lychee 。
打开该文件:
sudo vi /etc/httpd/conf/httpd.conf
然后找到以<Directory"/var/www/html">
开始的节,并将AllowOverride none
更改为AllowOverride All
,最终结果(删除所有批注)的外观如下所示:
<Directory"/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
现在保存并关闭Apache配置文件。
我们会在本教程结束时重新启动Apache,但是在安装和配置期间定期重新启动Apache是一个好习惯,
sudo systemctl restart httpd
步骤4:打开Web防火墙端口
我们现在需要打开默认的HTTP
和HTTPS
端口,因为默认情况下它们会被firewalld
阻塞。
打开防火墙端口:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
重新加载防火墙以应用更改:
sudo firewall-cmd --reload
在每个成功的防火墙配置命令后,你会看到在终端上显示的单词success
。
通过访问浏览器中服务器实例的IP地址或域,可以快速验证Apache HTTP
端口是否打开:
http://YOUR_VULTR_IP_ADDRESS/
你会在浏览器中看到默认的Apache网页。
步骤5禁用SE Linux
SELinux代表"安全增强Linux" 它是对Linux的安全增强,允许用户和管理员对访问控制进行更多控制,在Fedora26中它是默认启用的,但是,对于服务器安全来说它的,因为许多Linux服务器发行版在默认情况下都没有安装或启用它。
为了避免在后面的行中使用文件许可问题,我们将禁用SELinux,目前为止,打开你最喜欢的终端编辑器的SELinux配置文件:
sudo vi /etc/selinux/config
将SELINUX=enforcing
更改为SELINUX=disabled
,然后保存文件。
要应用配置更改,SELinux需要重新启动服务器,因此你可以使用控制面板重新启动服务器,也可以简单地使用shutdown
命令:
sudo shutdown -r now
当服务器重新启动时你的SSH会话会断开连接你可能会看到一条消息,通知你有关a'broken pipe'
,或
'Connection closed by remote host'
这没什么好担心的只需等待20秒左右,然后SSH再次返回使用你自己的用户名和域,
ssh user1@YOUR_DOMAIN
或(使用你自己的用户名和IP地址):
ssh user1@YOUR_VULTR_IP_ADDRESS
重新登录后应使用sestatus
命令再次检查se linux的状态以确保它已正确禁用:
sudo sestatus
你应该会看到一条消息说SELinux status: disabled
,如果看到一条消息说selinux status :enabled启用)
或类似的内容,就需要重复上述步骤,并且确保正确重新启动服务器。
步骤6:安装和配置PHP 7.1
现在可以安装PHP 7.1以及 Lychee 所需的所有必需的PHP模块:
sudo dnf -y install php php-mysqlnd php-mbstring php-gd php-common php-pdo php-pecl-imagick php-xml php-zip
因为我们可能需要使用 Lychee 上传和处理大文件,我们会需要改变一些默认的PHP设置。
打开php.ini
配置文件:
sudo vi/etc/php.ini
将以下PHP选项更改为这些值:
max_execution_time = 300
post_max_size = 100M
upload_max_size = 100M
upload_max_filesize = 50M
memory_limit = 256M
完成后,保存并退出文件。
如果没有能够上传或处理大文件的问题,那么只需尝试增加上面的值,就可以解决问题。
步骤7安装MariaDB ( MySQL )服务器
Fedora 26默认使用MariaDB数据库服务器,这是一个增强的,完全开源的,社区开发的,直接替代MySQL服务器。
安装MariaDB数据库服务器:
sudo dnf -y install mariadb-server
启动并启用MariaDB服务器在引导时自动执行:
sudo systemctl enable mariadb
sudo systemctl start mariadb
保护你的MariaDB服务器安装:
sudo mysql_secure_installation
root
密码为空,因此在提示输入root
密码时,只需输入。
当提示创建MariaDB/MySQL root
用户时,选择"y"(为是),然后输入一个安全的root
密码,简单回答"y",默认建议是最安全的选择。
步骤8为 Lychee 创建数据库
运行以下命令,以MariaDB root
用户身份登录到MariaDB shell :
sudo mysql -u root -p
要访问MariaDB命令提示,只需在提示时输入MariaDB root
密码。
运行以下查询以创建 Lychee 的MariaDB数据库和数据库用户:
CREATE DATABASE lychee_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'lychee_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON lychee_db.* TO 'lychee_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
如果愿意,你可以将数据库名lychee_db
和用户名lychee_user
替换为更符合你喜好的,另外,确保你用一个安全的密码替换"UltraSecurePassword"
步骤9安装 Lychee 文件
将当前工作目录更改为默认的网络目录:
cd/var/www/html/
如果你得到一条错误消息 'No such file or directory'
然后尝试以下命令:
cd /var/www/ ; sudo mkdir html ; cd html
现在你的工作目录为: /var/www/html/
,你可以使用pwd
(打印工作目录)命令检查此命令:
pwd
现在使用wget
下载 Lychee 安装软件包:
sudo wget --content-disposition https://github.com/electerious/Lychee/archive/v3.1.6.zip
请注意:你应该通过访问 Lychee 下载页面来检查最近的版本 。
列出要检查是否已成功下载该文件的当前目录:
ls -la
让我们快速安装unzip
,以便解压文件:
sudo dnf -y install unzip
现在解压压缩归档文件:
sudo unzip Lychee-3.1.6.zip
将所有安装文件移动到web root目录中:
sudo mv -v Lychee-3.1.6/* Lychee-3.1.6/.* /var/www/html 2>/dev/null
更改网站文件的所有权以避免任何权限问题:
sudo chown -R apache:apache * ./
在upload
和data
目录中设置可读权限:
sudo chmod -R 777 data/ upload/
重新启动Apache :
sudo systemctl restart httpd
现在我们已经准备好进入最后一步了。
步骤10完成 Lychee 的安装
要访问 Lychee 安装页面,请在你的浏览器地址栏中输入你的实例IP地址:
http://YOUR_VULTR_IP_ADDRESS/
在
Database Connection Details
页上,输入以下数据库值:Database Host: localhost Database Username: lychee_user Password: UltraSecurePassword Database Name: lychee_db
单击
Connect
继续。为你的安装输入
Username
和Password
:Username: <your username> Password: <a secure password>
单击
Create Login
继续。
你会被自动重定向到 Photo Album 上传页面,并登录到管理部分,如果要更改设置,可以单击页面左上角的齿轮图标。
要更改更高级的设置,你需要返回到终端,并且编辑 Lychee 配置文件:
sudo vi data/config.php
如果还没有配置DNS设置,则可以使用DNS控制面板进行配置。
无论怎样,你现在可以开始上传和分享你的照片了,确保你查看 Lychee 文档以获得有关如何配置和使用照片管理器的更多信息。