[toc]
LAMP
实际上是一组开源软件,它的主要作用是使能一个能够提供网络服务的服务器,简单点说,你可以在它上面假设各种网站服务。它实际上是一个缩写,其中,“L”
代表Linux
服务器(这里我们使用Ubuntu18.04发行版),“A”
代表Apache
,“M”
代表MySQL
,“P”
代表“PHP”
。
一 Linux的安装
在PC上安装Linux的方法网上已经介绍了好多,这里就不在赘述。而这里我们安装LAMP
的用途是用来提供网络服务,比如搭建博客,搭建云存储服务器等,这样的话,服务器必须要有一个固定的IP地址,而且要保证能够24小时开机,所以这里我们一般选用VPS(虚拟私人服务器),那么,在VPS安装Linux的方法就简单多了。具体可参考我的另外一篇博客——如何搭建自己的虚拟专用服务器。
二 安装及配置apache2
Apache2
是一款非常流行的web server软件之一。
2.1 安装apache2
在Ubuntu 18.04上,可以使用下列的命令安装:
sudo apt update && sudo apt install apache2 -y
安装完成之后,它默认设置网站代码的根目录为服务器的/var/www/html
路径。在这个文件夹内你能看到一个apache2的测试网页index.html
,在本地浏览器中打开http://your_srever_ip
(your_srever_ip
是你服务器的ip地址),就能够看到下图:
2.2 配置apache2
这里只是介绍apache2的配置方法,这里暂时不需要配置apache2,因此,这步可暂时跳过。
查看apache2
配置可以通过下面的命令:
sudo apachectl -S
输出的结果如下图:
这条命令会打印出apache
的所有配置等具体信息。其中最主要的就是VirtualHost configuration:
,它给出了apache当前使用的配置文件,而apache
的所有配置信息都是在这个文件里定义的。
这里需要注意的是配置文件的路径是:/etc/apache2/sites-enabled/000-default.conf
,而实际上,真正的配置文件是/etc/apache2/sites-available/000-default.conf
。/etc/apache2/sites-enabled
文件夹下的文件只是/etc/apache2/sites-available/
下面文件的软连接而已。所以要修改配置,请务必修改/etc/apache2/sites-available/
下面的文件,修改完成之后,可以先使用sudo apache2ctl configtest
来确认配置文件语法正确,然后需要执行下面两条命令来使配置生效。
sudo a2ensite ××××.conf
sudo systemctl restart apache2
三 安装及配置MySQL
MySQL是一款数据库管理软件,比如,我们的文件保存到服务器之后,文件的位置等信息,都是由MySQL所管理的。
3.1 安装MySQL
在Ubuntu 18.04上的安装方法如下:
sudo apt install mysql-server -y
3.2 配置MySQL
- 3.2.1 基本配置
在安装完MySQL之后可以使用下面的命令来配置一些数据库的基本配置,从而使你的数据库更加安全。
sudo mysql_secure_installation
具体配置及选择如下图:
注意:这里第一步设置的root用户密码一定要牢记,后面还会用到。
- 3.2.2 修改用户认证方式
修改MySQL的用户认证方式,从auth_socket
切换成mysql_native_password
。
首先,登录数据库:
sudo mysql
经过确认,这里的密码既可以输入服务器root
账户的密码,也可以使用2.2.1
中设置的MySQL
root
账户的密码。
其次,输入下面的命令查看当前的认证方式。
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
从图中可以看出用户认证方式默认是auth_socket
。
再次,依次输入下面的命令修改用户认证方式并更新设置:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> FLUSH PRIVILEGES;
注意,这里第一条命令的作用是将root
用户的认证方式修改为mysql_native_password
,并将其密码修改为password
(当然,这个值你可以随便设置,但是务必牢记),所以,如果不想root
账户修改密码,可以输入2.2.1
中设置的密码;否则,password
将是root
账户的新密码。
最后,输入下面的命令,确认修改是否成功。
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
从上图可以看出,用户认证方式已成功修改为:mysql_native_password
。
输入下面的命令退出MySQL登录。
mysql> \q
注意:MySQL的登录方法根据是否设置设置
mysql
root
账户的密码分为两种情况:
1. 没有设置mysql
root
账户的密码时,登录mysql
只需要输入sudo mysql
命令即可登录,登录密码为服务器的root
账户的密码;
2. 已经设置了mysql
root
账户的密码,登录mysql
应该使用sudo mysql -u root -p
命令;登录密码为mysql
root
账户的密码;
四 安装及配置PHP
PHP
是用来处理网页上的动态内容的服务器端的Web脚本程序,它可以从MySQL
获取数据,处理动态的内容,并通过Web server显示出来。
4.1 安装PHP
可以通过下面的命令安装PHP
:
sudo apt install php libapache2-mod-php php-mysql -y
4.2 配置PHP
通常情况下,Apache
会优先寻找Apache Server
的Main DocumentRoot
目录下的index.html
文件,而在安装了PHP
之后,我们需要使它能够优先搜索index.php
。修改的具体方法如下:
使用下列命令打开Apache的配置文件:
sudo vi /etc/apache2/mods-available/dir.conf
你会看到下面的内容:
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
将上述内容中的index.php
移至index.html
前面,得到如下结果:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
之后保存该文件,使用下面的命令重启Apache服务即可。
sudo systemctl restart apache2
到此为止,LAMP
的基本设置就完成了。