如何在Fedora 26 VPS上安装Lychee 3.1 Photo Album

・18 分钟阅读

使用不同的系统?

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防火墙端口

我们现在需要打开默认的HTTPHTTPS端口,因为默认情况下它们会被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 * ./

uploaddata目录中设置可读权限:


sudo chmod -R 777 data/ upload/

重新启动Apache :


sudo systemctl restart httpd

现在我们已经准备好进入最后一步了。

步骤10完成 Lychee 的安装

要访问 Lychee 安装页面,请在你的浏览器地址栏中输入你的实例IP地址:


http://YOUR_VULTR_IP_ADDRESS/

  1. Database Connection Details页上,输入以下数据库值:

    
    Database Host: localhost
    Database Username: lychee_user
    Password: UltraSecurePassword
    Database Name: lychee_db
    
    

    单击Connect继续。

  2. 为你的安装输入UsernamePassword

    
    Username: <your username>
    Password: <a secure password>
    
    

    单击Create Login继续。

你会被自动重定向到 Photo Album 上传页面,并登录到管理部分,如果要更改设置,可以单击页面左上角的齿轮图标。

要更改更高级的设置,你需要返回到终端,并且编辑 Lychee 配置文件:


sudo vi data/config.php

如果还没有配置DNS设置,则可以使用DNS控制面板进行配置。

无论怎样,你现在可以开始上传和分享你的照片了,确保你查看 Lychee 文档以获得有关如何配置和使用照片管理器的更多信息。

圣地学子 profile image