在FreeBSD 11上安装Nginx,MariaDB和PHP(FEMP)
在本教程中,我将介绍在FreeBSD 11.x上安装和配置FEMP的过程。 FEMP软件栈是缩写,代表通常安装在Unix / Linux操作系统中的一组程序,主要用于部署动态Web应用程序。
在这种情况下,FEMP的首字母缩写是指FreeBSD的类Unix操作系统,在其上面安装了这些应用程序:
Nginx Web服务器是一种快速发展的热门Web服务器,主要用于提供HTML内容,但也可以为Web服务器或其他网络服务提供负载平衡,高可用性或反向代理。
PHP动态编程语言解释器,用于后端操作数据库数据并创建可以包含在纯HTML中的动态Web内容。 PHP脚本只在服务器端执行,从不在客户端执行(在浏览器中)
Mariadb \ MySQL RDBMS这是数据存储在支持的地方,而动态处理由PHP处理。
在本教程中,我们将安装和使用MariaDB关系数据库管理系统(MySQL的社区分支),以支持由Oracle现在拥有和开发的MySQL数据库。
要求:
最简单的安装FreeBSD 11.x.
为网络接口配置的静态IP地址。
常规帐户配置有root权限或通过root帐户直接访问系统。
最好是使用最小DNS记录(A和CNAME记录)配置的公共注册域名。
第1步 – 安装MariaDB数据库
第一步,我们将安装MariaDB数据库系统,它是用于存储和管理网站动态数据的FEMP组件。 MariaDB / MySQL是世界上与Nginx或Apache Web服务器结合使用的最常用的开源关系数据库之一。
这两款服务器都被高度用于创建和开发复杂的Web应用程序或动态网站。 MariaDB可以直接从PORTS仓库提供的二进制文件安装到FreeBSD上。
但是,在FreeBSD Ports数据库部分使用ls命令进行的简单搜索会显示MariaDB的多个版本,如下面的命令输出所示。
另外,运行Package Manager pkg命令将显示相同的结果。
ls -al /usr/ports/databases/ | grep mariadb
pkg search mariadb
在本指南中,我们将使用pkg命令安装MariaDB数据库和客户端的最新版本,如以下摘录所示。
pkg install mariadb102-server mariadb102-client
MariaDB在系统中完成安装之后,请发出以下命令以启用系统范围内的MySQL服务器。
另外,请确保您启动MariaDB守护进程,如下所示。
sysrc mysql_enable=”YES”
service mysql-server start
接下来,我们需要通过运行mysql_secure_installation脚本来保护MariaDB数据库。
在运行脚本时,我们会问一系列问题。
这些问题的目的是为MySQL引擎提供一个安全级别,比如为MySQL root用户设置一个root密码,删除匿名用户,禁止root用户远程登录,删除测试数据库。
为MySQL根用户选择一个强密码后,在所有问题上回答” 是 “,如以下脚本示例所示。
不要将MariaDB数据库root用户与系统root用户混淆。
尽管这些帐户具有相同的名称(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数据库安全保护之后,运行以下命令测试是否允许从root帐户执行本地登录到数据库。
一旦连接到数据库提示符,只需键入退出或退出 ,以离开数据库控制台,并返回到系统用户控制台提示符,如下图所示。
mysql -u root -p
MariaDB> quit
在FreeBSD上运行sockstat命令很快就揭示了MariaDB对外部网络连接的开放性,可以通过3306 / TCP端口从任何网络远程访问。
sockstat -4 -6
以下文章点击率最高
Loading…