Ubuntu系统搭建LAMP环境
# 简介
受 B 站 Up 主 TheCW (opens new window) 影响,一开始折腾各种发行版,从国产的深度操作系统、Deepin到Debian、Ubuntu、OpenSUSE、Fedora到Arch Linux,目前主力系统是Manjaro和Ubuntu20.04.2,本文适用于刚刚开始使用 Linux,并且有一定命令行基础的新手玩家,根据我使用 Linux 的经验进行编写,所有软件和命令均在 Ubuntu20.04.2 系统上测试运行通过。
# 更新软件源
安装Apache Web 服务器。
sudo apt-get update
sudo apt-get install apache2
2
启用一下伪静态插件和启用一下 HTTP 支持。
sudo a2enmod rewrite
sudo a2enmod ssl
2
验证是否 Apache 是否安装成功,我用的虚拟机,所以在浏览器访问虚拟机 IP,如果是本地可以访问 localhost,或者 127.0.0.1。
# Apache 基础命令
sudo service apache2 restart
sudo service apache2 stop
sudo service apache2 start
2
3
# 安装PHP
安装多版本 PHP 参考文章如何在Ubuntu20.0.2系统上搭建Apache集成多版本PHP自由切换? (opens new window)。
# 安装MySQL
# 安装MySQL并查看运行状态
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
sudo systemctl status mysql
2
3
4
# 修改密码
安装mysql时并没有让我们有输入密码的环节,如果我们需要用root权限进入数据库时,输入:
sudo mysql
找到路径下 /etc/mysql 中的 debian.cnf 文件,使用 cat 命令进行查看。
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = 7gpNsaqBDFnYg1gy
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = 7gpNsaqBDFnYg1gy
socket = /var/run/mysqld/mysqld.sock
2
3
4
5
6
7
8
9
10
11
修改 root 密码。
mysql> use mysql;
Database changed
mysql> update mysql.user set authentication_string=('123456') where user='root' and Host='localhost';
Query OK, 0 rows affected (0.01 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)
mysql> exit;
2
3
4
5
6
7
8
9
10
忘记密码修改密码,编辑/etc/mysql/mysql.conf.d/mysqld.cnf
文件,为了达到跳过密码的操作,需要在 [mysqld] 后一行加上skip-grant-tables
。
# 安装phpMyAdmin
# 安装
sudo apt-get install phpmyadmin;
安装过程中会让我们选择使用的服务器软件以及输入密码,文件的安装路径是:/usr/share/phpmyadmin
,之后改动配置也在这个目录下修改。
# 配置站点
将源代码目录软连接到 Apache 站点配置目录下,phpMyAdmin 有 PHP 版本及扩展要求。
sudo ln -s /usr/share/phpmyadmin /var/www/html
# 进入Apache服务器配置目录
root at ubuntu in /etc/apache2/sites-available
$ pwd
/etc/apache2/sites-available
2
3
复制一个 000-default.conf
重命名为 phpmysql.com.conf
。
编辑文件内容如下:
<VirtualHost *:80>
ServerName phpmysql.com
ServerAlias www.phpmysql.com
ServerAdmin webmaster@phpmysql.com
DocumentRoot /var/www/html/phpmyadmin
<Directory /var/www/html/phpmyadmin>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/phpmysql-error.log
CustomLog ${APACHE_LOG_DIR}/phpmysql.com-access.log combined
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
使用 Apache 自带命令,自动将站点添加到 /etc/apache2/sites-enabled
目录下,重启服务即可。
root at ubuntu in /etc/apache2/sites-available
$ a2ensite phpmysql.com
Enabling site phpmysql.com.
To activate the new configuration, you need to run:
systemctl reload apache2
root at ubuntu in /etc/apache2/sites-available
$ systemctl reload apache2
2
3
4
5
6
7
8
# 效果图
# 常见问题
- ERROR: Module php7.2 does not exist!
sudo apt purge libapache2-mod-php7.2 libapache2-mod-php
sudo apt install libapache2-mod-php7.2 libapache2-mod-php
2