在FreeBSD上安装Apache PHP和MySQL

时间:2020-07-27 12:59:16  来源:igfitidea点击:

在本教程中,我们将学习如何使用Apache Web Server,PHP编程语言和MySQL/MySQL/MARIADB数据库服务器在FreeBSD上设置Web服务器。
除了 LAMP 堆栈之外,我们还将安装用于数据库访问的 phpMyAdmin 和用于 FTP 访问的 VSFTPD 服务器。

在FreeBSD上安装和配置Apache Web服务器

Apache是FreeBSD的最佳服务器实现。
FreeBSD的最新版本的Apache HTTP服务器由www/apache24包提供,我们可以使用pkg命令安装。

pkg install www/apache24

完成安装过程后,打开/etc/rc.conf文件和以下行(这将启动启动HTTP服务器)。

apache24_enable="yes"

然后,运行以下命令以启动Apache Web服务器:

service apache24 start

从远程计算机,打开Web浏览器并键入FreeBSD服务器的IP地址,我们应该得到响应,它有效!

  • /usr/local/etc/apache24/httpd.conf文件是FreeBSD Apache Web服务器的主要配置文件。
  • /usr/local/www/apache24/data目录是Web服务器的默认DocumentRoot。我们可以通过将HTML文件放入此目录来服务。

虚拟托管

Apache虚拟托管是一种机制,允许在单个服务器上托管多个。
以下是FreeBSD的示例Apache虚拟主机配置(虚拟主机配置应添加到httpd.conf文件)。

<VirtualHost *>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /usr/local/www/example.com
    <Directory /usr/local/www/example.com>
        Require all granted
    </Directory>
</VirtualHost>

在此示例中,的域名为www.example.com,DocumentRoot是/usr/local/www/example.com文件夹。

更改Httpd.conf文件后,我们需要重新启动Apache Httpd Web服务器:

service apache24 restart

在FreeBSD上安装PHP

PHP:超文本预处理器(PHP)是一种纯粹用于创建动态网页的脚本语言。
对于FreeBSD,有几个版本的PHP可用。

我们可以搜索:

pkg search -o mod_php

在撰写本文时,PHP 7.2是最新的可用版本,由www/mod_php72包提供。

要安装PHP 7,请执行以下命令:

pkg install www/mod_php72 php72-extensions

安装完成后,将以下内容添加到Apache Httpd.conf文件中:

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

另请确保index.php是DirectoryIndex的一部分,如下所示。

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

运行以下命令以创建php.ini文件:

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

然后,重新启动Apache HTTP服务器:

service apache24 restart

要检查安装,请在DocumentRoot中创建index.php文件并添加phpinfo()函数。
从Web浏览器中,键入服务器IP地址/index.php。

安装MariaDB数据库服务器

我们将使用MariaDB作为我们的MySQL服务器实现,在写作MariaDB服务器10.2是最新版本。
我们可以运行pkg search命令以查找FreeBSD系统上可用的最新版本。

要安装MariaDB服务器,请运行:

pkg install databases/mariadb102-server

然后,将以下添加到/etc/rc.conf文件中:

mysql_enable="yes"

第一次启动MySQL服务器:

service mysql-server start

默认情况下,MySQL root用户没有密码,设置新的MySQL root密码运行mysql_secure_installation命令。

mysql_secure_installation

在FreeBSD上安装phpmyadmin

从FreeBSD存储库中获得的PHPMyAdmin包,与PHP版本7不兼容。
对于PHP 7,我们需要从https://www.phpmyadmin.net/downloads/页面下载最新版本。

以下部分介绍了如何从命令行执行此操作。

首先安装MySQLI和其他PHP扩展:

pkg install php72-mysqli php72-mbstring-7.2.5 php72-extensions

接下来,获取PHPMYADMIN下载页面的最新下载链接,并使用WGET命令下载包:

cd /usr/share/
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz

提取存档文件:

tar -zxvf phpMyAdmin-4.7.9-all-languages.tar.gz

重命名文件夹:

mv phpMyAdmin-4.7.9-all-languages phpmyadmin

在/usr/local/etc/apache24中创建一个名为phpmyadmin.conf的文件/包含/目录并添加以下配置:

Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/>
    AddDefaultCharset UTF-8
    <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
      Require all granted
      Require ip 127.0.0.1
      Require ip ::1
     </RequireAny>
    </IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup/>
    <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
      Require ip 127.0.0.1
      Require ip ::1
     </RequireAny>
    </IfModule>
</Directory>
# These directories do not require access over HTTP - taken from the ortheitroadnal
# phpmyadmin upstream tar包
#<Directory /usr/share/phpmyadmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>
<Directory /usr/share/phpmyadmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

保存文件并重新启动Apache Web服务器:

service apache24 restart

要访问PHPMyAdmin在Web浏览器中键入Server-IP/PHPMyAdmin。

使用VSFTPD配置FTP服务器

文件传输协议提供了一种简单且简单的方法来传输服务器和客户端计算机之间的文件。
有几种FTP服务器软件可用于FreeBSD,我们将使用的FreeBSD是VSFTPD。
以下步骤描述,如何在FreeBSD 11.1上安装和配置VSFTPD。

首先安装VSFTPD包:

pkg install ftp/vsftpd

打开/usr/local/etc/vsftpd.conf,并确保以下配置选项就像:

anonymous_enable=NO
local_enable=YES
write_enable=YES
listen=YES
background=YES

打开/etc/rc.conf并添加以下内容:

vsftpd_enable="yes"

我们已准备好在FreeBSD上启动VSFTPD服务器:

service vsftpd restart

示例:为DocumentRoot创建FTP用户

以下示例演示了,如何创建具有对example.com的DocumentRoot的写入访问的FTP用户。

使用自定义主目录添加新用户:

pw useradd -n ftp_user1 -d /usr/local/www/example.com

为用户设置密码:

passwd ftp_user1

设置文件权限:

chown -R ftp_user1 /usr/local/www/example.com
chmod u+rw /usr/local/www/example.com

现在FTP用户可以通过FTP客户端登录服务器并访问的文件。

vsftpd完成了我们的Web服务器,现在我们可以在FreeBSD系统上完成Web服务器并运行。