在云服务器盛行的今天,人手一个服务器已经不再是梦想,而云服务器的环境配置对于一些刚接触的朋友们来说还是有一定难度的。所以今天我们一起来看一下,如何手动配置AMP
。
我们本次使用的环境是Ubuntu 16.04 LTS
,实例使用的是阿里云服务器,首先通过ssh
使用root
账户连接到我们的instance
:
(注意:由于我们使用的是root
连接,以下命令可以不使用sudo
,如果你遇到了权限问题,请先尝试在命令前加上sudo
。)
$ ssh root@my-aliyun-server-public-ip-address
连接成功后,我们就可以开始安装环境了。
首先我们先来安装PHP 7.1
。介于官方的repository
还没有更新7.1
,我们需要添加一个知名的repository
再进行安装:
$ apt install software-properties-common (阿里云默认没有装`add-apt-repository`,所以需要先运行该命令)
$ add-apt-repository ppa:ondrej/php
完成之后,更新一下repository
:
$ apt-get update
然后输入:
$ apt-get install -y php7.1 php7.1-mysql php7.1-mcrypt php7.1-curl php7.1-mbstring php7.1-zip php7.1-xml
完成后php7.1
就安装完成了。(对于某些dependencies
可以后续手动安装)
上面的安装会一并把apache2
安装好,所以我们可以直接开始配置apache2
。输入以下命令,
$ apache2ctl configtest
Output
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
Syntax OK
如果看到上面的输出,那么请输入:
$ nano /etc/apache2/apache2.conf
在文件的最后一行,加上
ServerName my-aliyun-server-public-ip-address
这里请把my-aliyun-server-public-ip-address
用我们的公共ip
替换。按Ctrl + X
,然后y
,回车进行保存。
再次输入
$ apache2ctl configtest
我们会看到,之前的警告已经消失:
Syntax OK
现在我们可以输入
$ systemctl restart apache2
来重启一下apache2
。完成后,我们就可以开始配置防火墙了:
$ ufw allow in "Apache Full"
接下来,我们使用浏览器访问:
这里请用公共ip
替换以上的my-aliyun-server-public-ip-address
。如果出现以下的页面,那么就说明配置成功了:
接下来我们需要更新apache
配置,这样当服务器上的某个文件夹被请求时,apache
默认优先获取index.php
。
$ nano /etc/apache2/mods-enabled/dir.conf
将以下配置:
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
中的index.php
移到最前:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
保存退出后重启apache2即可:
$ systemctl restart apache2
接下来我们需要安装MySQL
服务器:
$ apt-get install -y mysql-server
安装过程中,我们需要根据提示输入root
用户的密码。完成后,我们清除不安全的环境:
$ mysql_secure_installation
根据提示操作完成即可。过程中会被问到是否要安装VALIDATE PASSWORD PLUGIN
这个插件,如果选是,那么需要设置用户密码强度,以及检测当前root
用户密码强度。这里就不予赘述。