在FreeBSD 11.1中,在FAMP之上部署WordPress

本指南将显示如何在FreeBSD 11.x最新版本中安装和配置互联网上使用的最受欢迎的开源CMS,WordPress,位于FAMP之上。 FAMP是描述以下软件包的缩写: F reeBSD 11.1类Unix操作系统,   一个 pache HTTP服务器,互联网上最流行的开源Web服务器之一,   M ariaDB RDBMS(关系数据库管理系统),它是MySQL数据库引擎的一个分支   P HP编程服务器端语言。

要求:

  • 从头开始执行FreeBSD 11.x安装,或者系统中没有安装以前的FAMP软件。
  • 网络接口卡配置了静态IP地址。
  • SSH服务器已安装并配置为远程访问或直接访问服务器的命令行控制台。
  • 最好是一个注册的域名(本教程中绝非必要,因为我们将使用服务器的静态IP地址访问该网站)。
  • 服务器上的sudo帐户配置了root权限或直接访问root帐户。

第1步 - 安装MariaDB

在您的FreeBSD服务器上安装FAMP软件包之前,请使用具有root权限的帐户进行登录,并通过发出以下命令确保您的系统已完全更新。

freebsd-update fetch
freebsd-update install
pkg update
pkg upgrade

为了方便从命令行管理服务器,请确保您还安装以下软件包:

pkg install bash bash_completion nano

纳米   是一个受欢迎的Linux命令行编辑器。 在FreeBSD中,   EE   是默认文件编辑器。     编辑器也默认安装在FreeBSD中。

要在服务器上部署Wordpress网站,绝对必须连接到关系数据库。 与Wordpress一起使用最多的RDBMS之一是MySQL / MariaDB。 那么,在我们的FAMP中安装的第一个组件就是MySQL数据库服务器。 为了搜索可用的MariaDB数据库版本和组件,将在此设置中用于支持MySQL数据库,在计算机控制台中发出以下命令之一。

ls -al /usr/ports/databases/ | grep mariadb
pkg search -o mariadb

然后,通过运行以下命令,在FreeBSD中安装最新版本的MariaDB数据库服务器:

pkg install mariadb102-client mariadb102-server

在下一步中,确保在FreeBSD中启用MariaDB守护程序,并通过运行以下命令启动数据库服务。

sysrc mysql_enable=”YES”
service mysql-server start

接下来,开始通过执行来保护MaraDB数据库   mysql_secure_installation   脚本。 为了保护MariaDB数据库,请使用以下安装示例。 此外,请确保您为MySQL root用户选择了强大的密码。

/usr/local/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

默认情况下,配置MariaDB服务,以绑定和监听0.0.0.0:3306/TCP上的网络连接   网络套接字 运行   sockstat   命令与   -4 -6   标志你会注意到MariaDB套接字状态,如下图所示。

袜子-4 -6

 

MySQL服务器的这种行为很容易出现安全问题,所以我们将通过将守护进程绑定到环回接口来完全禁用对MariaDB的远程访问   只能通过下面的命令发出。 您将需要重新启动守护程序以反映更改。

sysrc mysql_args="--bind-address=127.0.0.1".
service mysql-server restart

但是,问题   sockstat   再次命令确定MariaDB网络套接字的新状态。 到目前为止,MariaDB应该仅从...接听   回送   界面,如下图所示。

sockstat -4

 

最后,在保护MySQL数据库守护进程后,创建用于Wordpress安装的MariaDB数据库。 从服务器控制台登录到MariaDB,并发出以下命令来创建数据库和用于管理Wordpress数据库的用户。 在提示符中输入MySQL root密码,并确保相应地替换数据库名称,数据库用户和密码。

mysql –u root –p
create database wordpress;
grant all privileges on wordpress.* to 'wpuser'@'localhost' identified by 'wppassword';
flush privileges;
exit

第2步 - 安装Apache Web服务器

为完成FAMP而需要安装的下一个服务是Apache HTTP服务器。 FreeBSD PORTS存储库附带两个预编译版本的Apache Web服务器。 为了列出所有Apache运行时版本,请在终端中发出以下命令之一。

pkg search apache2
ls /usr/ports/www/ | grep apache

对于使用Wordpress的此自定义设置,我们将通过发出以下命令来安装2.4版本的Apache HTTP服务器。

pkg install apache24

在系统上安装了具有所有依赖关系的Apache Web服务器软件包后,请确保使用以下命令启用和启动守护程序。

sysrc apache24_enable=”yes”
service apache24 start

要测试Apache配置,请打开浏览器并通过HTTP协议访问默认网页,方法是输入您的服务器的IP地址或URL域中的系统FQDN,如下图所示。 应该在您的浏览器中显示一条说“ It works! ”的消息。

http:// server_IP or_FQDN

Apache HTTP服务器   的DocumentRoot   目录位于   在/ usr /本地/网络/ apache24 /数据/   FreeBSD 11.x中的路径 我们稍后将在该位置复制Wordpress安装文件。 另外,请确保删除默认值   的index.html   文件通过发出以下命令。

rm /usr/local/www/apache24/data/index.html

第3步 - 安装PHP

与Apache Web服务器类似,FreeBSD 11.x PORTS具有多种预编译的PHP语言的二进制版本:PHP 5.6,PHP 7.0和PHP 7.1版本。 要显示所有PHP版本,请执行以下命令之一。

ls /usr/ports/lang/ | grep php
pkg search –o php

在这个自定义教程中,我们将使用PHP 7.1版本进行Wordpress安装。 发出以下命令来安装所有必需模块的PHP,以使Wordress正常运行。

pkg install php71 php71-mysqli mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json

在下一步,使用您喜欢的文本编辑器创建一个新的   php.conf   Apache Web服务器的配置文件   在/ usr / local / etc中/ apache24 /包括/   目录并添加以下内容。

nano /usr/local/etc/apache24/Includes/php.conf

php.conf   文件摘录:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

完成文件编辑后,确保创建一个新文件   phpinfo.php的   通过运行以下命令在Apache默认的webroot路径中,以便测试Apache PHP网关是否正常工作。

echo '<?php phpinfo();  ?>' | tee /usr/local/www/apache24/data/phpinfo.php

最后,重新启动Apache服务以应用更改并导航到以下URL,以显示PHP服务器端配置,如以下屏幕截图所示。

service apache24 restart

HTTP://server_IP-or-FQDN/phpinfo.php

此外,您可能想要创建PHP   INI   Apache的配置文件和更改   时区   声明,以反映您的服务器的地理位置。 支持的PHP时区的列表可以在以下链接找到:   http://php.net/manual/en/timezones.php

复制   php.ini中产   文件,以创建PHP的默认安装文件。 然后,编辑   php.ini中   文件为了chage PHP时区配置。

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
nano /usr/local/etc/php.ini

php.ini中   文件摘录:

date.timezone = Continent/City

要应用新的PHP设置,您需要重新启动Apache服务。 然后再次访问phpinfo.php网页并滚动到   日期   设置以查看更改是否已成功应用,如下面的屏幕截图所示。

service apache24 restart

第4步 - 安装WordPress

为了在FreeBSD的FAMP上安装Wordpress,首先在系统中下载最新版本的安装存档压缩包,使用   wget的   效用。 通过发出以下命令,提取下载的归档文件并将所有Wordpress安装文件复制到Apache webroot路径。

wget https://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp –rf wordpress/* /usr/local/www/apache24/data/

接下来,调整适用于Apache运行时组帐户的服务器webroot路径的权限,以便将Web服务器写入权限授予Wordpress安装目录。

chown -R root:www /usr/local/www/apache24/data/
chmod -R 775 /usr/local/www/apache24/data/

现在,您的Web服务器已准备好用于Wordpress安装过程。 打开浏览器并导航到您的服务器IP地址或FQDN,并显示第一个安装屏幕。 点击   我们走吧!   按钮开始安装。

在下一个屏幕上输入MariaDB数据库名称,Wordpress数据库用户名和密码以及数据库主机。 因为MariaDB和Apache Web服务器安装在同一个节点上,所以使用   本地主机   用于数据库主机。 保留表前缀默认值,然后按   提交   按钮继续。

创建数据库配置文件后,点击   运行安装   按钮,并在下一个屏幕上添加您的网站的标题,用于管理网站的用户名和电子邮件地址。 确保为用户名选择了强密码。 此外,由于安全性的影响,您应该避免使用简单的用户名作为管理员,管理员,root等。 完成后,点击   安装Wordpress   按钮完成安装。

Wordpress成功安装后,使用上一步中创建的凭据登录管理控制台面板,并开始管理您的网站。

为了更新或安装插件或主题或上传图片或修改需要从互联网下载文件的Wordpress的其他方面,请将以下行附加到Wordpress   WP-config.php文件   通过使用root权限发出以下命令。

echo "define('FS_METHOD', 'direct');" | tee –a /usr/local/www/apache24/data/wp-config.php

该行确保Wordpress可以下载和安装在线文件或更新,而不在主机上运行FTP服务器。   但是,如果Wordpress安装在共享上,则此方法可能不是最佳选择   托管计划。 在下面的屏幕截图中,使用该插件已成功应用了插件的更新   FS_METHOD   而不要求一个ftp帐户。

最后,为了能够改变Wordpress永久内部的链接结构,你需要启用   改写   对于Apache HTTP服务器   要启用重写模块,首先打开Apache主配置文件,然后添加以下代码块   <IfModule headers_module>   声明如下图所示。

nano /usr/local/etc/apache24/httpd.conf

httpd.conf文件   文件摘录:

<Directory "/usr/local/www/apache24/data">
                Require all granted        
                AllowOverride All
</Directory>

然后,关闭文件并取消注释重写   的LoadModule   通过发出以下命令来删除前面的主题标记。 使用   grep的   过滤器显示重写   的LoadModule   线 最后,检查Apache配置文件是否存在潜在的语法错误,并重新启动服务以应用更改。

grep rewrite /usr/local/etc/apache24/httpd.conf
sed -i.bak '/rewrite/s/^#//g' /usr/local/etc/apache24/httpd.conf
grep rewrite /usr/local/etc/apache24/httpd.conf
apachectl -t
service apache24 restart

现在,您可以通过浏览到Wordpress永久链接结构   仪表板 - >设置 - >固定链接 。 为您的URL结构选择您最喜欢的永久链接选项   屏幕   选项并点击   保存更改   按钮来应用更改。 是SEO的一个很好的选择   邮政名称永久链接

如果永久链接选项不适用,请打开并调查其内容   的.htaccess   文件从您的服务器webroot路径。 以下内容应自动插入此文件。 如果没有,请手动更新以下内容   的.htaccess   文件或检查文件权限。 应向Apache运行时用户或组帐户授予对该文件的写入权限。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

就这样! 您已经在FreeBSD 11中的Apache Web服务器,MariaDB数据库和PHP编程语言之上成功部署了Wordpress网站。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏