如何在 Ubuntu 18.04 LTS 上安装 NEOS CMS
本教程适用于这些操作系统版本
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(仿生海狸)
在此页
- 要求
- 开始
- 安装 LAMP 服务器
- 配置 MariaDB 数据库
- 安装 Neos CMS
- 为 NeosCMS 配置 Apache
- 访问 Neos 网络界面
- 结论
Neos 是一个现代的免费开源内容管理系统,可用于轻松构建和管理网站。它基于自己的 PHP 框架,可让您构建完美的定制体验。 Neos CMS 不仅仅是一个 CMS,而是一个内容应用平台,可以根据您的企业需求进行定制。 Neos 允许您在浏览器中自行编辑内容。
在本教程中,我们将介绍如何在 Ubuntu 18.04 服务器上安装 Neos。
要求
- 一台运行 Ubuntu 18.04 的服务器。
- 已为您的服务器设置根密码。
入门
在开始之前,您需要使用最新版本更新您的系统。您可以通过运行以下命令来执行此操作:
apt-get update -y
apt-get upgrade -y
服务器更新后,重新启动服务器以应用更改。
安装 LAMP 服务器
首先,您需要在系统中安装 Apache Web 服务器、MariaDB 数据库服务器、PHP 和其他所需的软件包。您可以通过运行以下命令来安装所有这些:
apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mysql php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-gd php7.2-bcmath php7.2-xml php7.2-cli php7.2-zip curl unzip git -y
安装所有软件包后,启动 Apache 和 MariaDB 服务,并使用以下命令使它们能够在启动时启动:
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb
接下来,您需要更改 php.ini 文件,如下所示:
nano /etc/php/7.2/apache2/php.ini
更改以下行:
short_open_tag = On
memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Asia/Kolkata
完成后保存并关闭文件。
配置 MariaDB 数据库
默认情况下,MariaDB 不受保护,因此您需要先对其进行保护。您可以通过运行以下命令来保护它:
mysql_secure_installation
如下图所示回答所有问题:
Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
MariaDB 安全后,使用以下命令登录 MariaDB shell:
mysql -u root -p
出现提示时输入您的根密码。然后,使用以下命令为 Neos 创建数据库和用户:
MariaDB [(none)]> CREATE DATABASE neosdb;
MariaDB [(none)]> CREATE USER 'neos'@'localhost' IDENTIFIED BY 'mypassword';
在上面的命令和下一个命令中用您选择的安全密码替换单词 mypassword,两次使用相同的密码。接下来,使用以下命令授予 Neos 数据库所有权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neosdb.* TO 'neos'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
接下来,使用以下命令将数据库的字符集更改为 utf8:
MariaDB [(none)]> ALTER DATABASE neosdb charset=utf8;
接下来,使用以下命令刷新权限并退出 MariaDB shell:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
接下来,您需要对 MariaDB 默认配置文件进行一些更改。您可以使用以下命令执行此操作:
nano /etc/myql/mariadb.conf.d/50-server.cnf
添加以下行:
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table = 1
innodb_default_row_format = dynamic
保存并关闭文件。然后,使用以下命令重启 MariaDB 服务:
systemctl restart mariadb
您可以使用以下命令检查 MariaDB 服务器的状态:
systemctl status mariadb
您应该看到以下输出:
? mariadb.service - MariaDB 10.1.38 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-04-16 07:31:40 UTC; 7h ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 1239 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 1235 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Process: 937 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemc
Process: 927 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 844 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Main PID: 1092 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 46 (limit: 1113)
CGroup: /system.slice/mariadb.service
??1092 /usr/sbin/mysqld
Apr 16 07:31:19 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server...
Apr 16 07:31:32 ubuntu1804 mysqld[1092]: 2019-04-16 7:31:32 140002947079296 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1)
Apr 16 07:31:40 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server.
Apr 16 07:31:40 ubuntu1804 /etc/mysql/debian-start[1240]: Upgrading MySQL tables if necessary.
Apr 16 07:31:41 ubuntu1804 /etc/mysql/debian-start[1244]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Apr 16 07:31:41 ubuntu1804 /etc/mysql/debian-start[1244]: Looking for 'mysql' as: /usr/bin/mysql
Apr 16 07:31:41 ubuntu1804 /etc/mysql/debian-start[1244]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Apr 16 07:31:41 ubuntu1804 /etc/mysql/debian-start[1244]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you
Apr 16 07:31:41 ubuntu1804 /etc/mysql/debian-start[1294]: Checking for insecure root accounts.
Apr 16 07:31:41 ubuntu1804 /etc/mysql/debian-start[1304]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
完成后,您可以继续下一步。
安装 Neos CMS
在安装 Neos 之前,您需要将 Composer 安装到您的系统中。您可以通过运行以下命令来安装它:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
接下来,将目录更改为 Apache Web 根目录并使用以下命令安装 Neos CMS:
cd /var/www/html/
composer create-project --no-dev neos/neos-base-distribution neoscms
接下来,使用以下命令更改 neoscms 的权限:
chown -R www-data:www-data /var/www/html/neoscms/
chmod -R 755 /var/www/html/neoscms/
完成后,您可以继续下一步。
为 NeosCMS 配置 Apache
接下来,您需要为 Neos 创建一个 Apache 虚拟主机文件。您可以使用以下命令执行此操作:
nano /etc/apache2/sites-available/neoscms.conf
添加以下行:
<VirtualHost *:80>
ServerAdmin
DocumentRoot /var/www/html/neoscms/Web
ServerName example.com
<Directory /var/www/html/neoscms/Web/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/neos_error.log
CustomLog ${APACHE_LOG_DIR}/neos_access.log combined
<Directory /var/www/html/neoscms/Web/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>
完成后保存并关闭文件。然后,使用以下命令启用 neos 虚拟主机和 Apache 重写模块:
a2ensite neoscms.conf
a2enmod rewrite
最后,使用以下命令重新启动 Apache 服务以应用所有更改:
systemctl restart apache2
您可以使用以下命令检查 Apache 的状态:
systemctl status apache2
您应该看到以下输出:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
??apache2-systemd.conf
Active: active (running) since Tue 2019-04-16 14:57:32 UTC; 3s ago
Process: 2358 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 2372 (apache2)
Tasks: 6 (limit: 1113)
CGroup: /system.slice/apache2.service
??2372 /usr/sbin/apache2 -k start
??2375 /usr/sbin/apache2 -k start
??2377 /usr/sbin/apache2 -k start
??2378 /usr/sbin/apache2 -k start
??2381 /usr/sbin/apache2 -k start
??2382 /usr/sbin/apache2 -k start
Apr 16 14:57:31 ubuntu1804 systemd[1]: Starting The Apache HTTP Server...
Apr 16 14:57:32 ubuntu1804 apachectl[2358]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.
Apr 16 14:57:32 ubuntu1804 systemd[1]: Started The Apache HTTP Server.
完成后,您可以继续下一步。
访问 Neos Web 界面
现在,打开您的 Web 浏览器并输入 URL http://example.com/setup。您将被重定向到以下页面:

接下来,输入 /var/www/html/neoscms/Data/SetupPassword.txt 文件中的设置密码,然后单击“登录”按钮。您应该会看到以下页面:

确保安装了所有必需的包。然后,单击“下一步”按钮。您应该会看到以下页面:

现在,提供您的数据库名称、数据库用户名和密码。然后,单击“下一步”按钮。您应该会看到以下页面:

现在,提供您的管理员帐户详细信息,然后单击“下一步”按钮。您应该会看到以下页面:

现在,单击“跳过”按钮。安装成功完成后,您应该会看到以下页面:

现在,单击转到后端按钮。您将被重定向到 Neos 登录页面:

现在,提供您的管理员用户名和密码。然后,单击“登录”按钮。您应该会看到以下页面:

结论
恭喜!您已经在 Ubuntu 18.04 服务器上成功安装了 Neos CMS。您现在可以使用 Neos 轻松托管自己的网站或博客。如果您有任何问题,请随时问我。