在FreeBSD上安装Apache PHP和MySQL
在本教程中,我们将学习如何使用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服务器并运行。