Ubuntu搭建Lamp环境(Linux+apache+mysql+php)

测试环境:

系统:				优麒麟20.04
网络:				127.0.0.1
域名:				onlylinux.cn
网站根目录:			/home/hollowman/web
apache:			apache2.4.41
mysql-server:		mysql-server8.0
php:				php7.4.3

一、Apache2搭建

1.安装

$ sudo apt-get install apache2  #安装
$ sudo apache2 -v			#查看apache2版本
$ systemctl status apache2		#查看启动状态
$ netstat -nltp				#查看端口监听

2.配置文件介绍

1) 有关配置文件结构

ubuntu安装完apache2后,其配置文件主要放在如下的目录结构中。

#	/etc/apache2/
#	|-- apache2.conf		主配置文件,它合并处理自身配置和其他文件配置。
#	|	`--  ports.conf		监听端口配置文件,始终在apache2.conf文件中包含。
#	|-- mods-enabled		激活的模块配置目录,通过对mods-available目录文件进行符号链接来实现激活
#	|	|-- *.load
#	|	`-- *.conf
#	|-- conf-enabled 		激活的全局配置目录,通过对conf-available目录文件进行符号链接来实现激活
#	|	`-- *.conf
# 	`-- sites-enabled		激活的虚拟主机配置目录,通过对sites-available目录文件进行符号链接来实现激活
#	 	`-- *.conf
2) 主配置文件apache2.conf
$ cat /etc/apache2/apache2.conf | grep -v "^#" | grep -v '^$'

DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load  	#引用动态模块配置
IncludeOptional mods-enabled/*.conf		#引用动态模块配置
Include ports.conf						#引用端口监听文件

	Options FollowSymLinks
	AllowOverride None
	Require all denied


	AllowOverride None
	Require all granted


	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted

AccessFileName .htaccess

	Require all denied

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf		#引用全局通用配置
IncludeOptional sites-enabled/*.conf	#引用虚拟主机配置

3.网站配置

1) 修改配置文件(常用)

如需要配置虚拟主机,可打开虚拟主机的配置文件:/etc/apache2/sites-enabled/000-default.conf进行配置,并用systemctl restart apache2来重启服务。

sudo vim /etc/apache2/sites-available/000-default.conf 


	ServerName onlylinux.cn
	DocumentRoot /home/hollowman/web
	
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

注意:要想测试成功,还需修改/etc/hosts文件,添加一行代码:127.0.0.1 onlylinux.cn

2) 激活配置文件。

一般初始安装后包含已激活的基本的配置文件,后期动态添加的配置文件才可能需要进行激活操作,就用 ln -s ,如:

$ ln -s ../mods-available/ssl.conf ./mods-enabled/ssl.conf
$ ln -s ../mods-available/ssl.load ./mods-enabled/ssl.load
3) 助手命令

可通过a2enmod/a2dismoda2ensite/a2disconfa2enconf/a2disconf等助手命令来管理。如:

$ sudo a2enmod rewrite		#修改apache2.conf中网站所在目录下面的AllowOverride属性为 all,然后重启apache2

二、mysql

1.安装

$ sudo apt install mysql-server

2.初始化数据库

初始安装的数据库默认会有一个root用户,且没有密码,需要进行初始化操作并设置密码。

$ sudo mysql_secure_installation

按提示选择密码设置规则[0,1,2]、输入符合规则的密码,其他按照提示选择y或n。我在初始化过程中禁用了root远程访问,后续要添加一个用户和密码。

3.创建可供远程访问的用户

1) 用root用户进入mysql
$ sudo mysql -u root -p
2) 创建hollowman用户
mysql>create user 'hollowman'@'%' identified by '你的密码';

这条语句的作用是在mysql.user表中新建了一条用户数据,其中用户名为hollowman,plugin默认为caching_sha2_password,权限基本为N,也就是否。

mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| hollowman        | %         | caching_sha2_password |
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | auth_socket           |
+------------------+-----------+-----------------------+
6 rows in set (0.00 sec)
3) 给hollowman用户赋权

因为新建的用户权限基本为否,因此需要给用户赋予权限

mysql> grant all on *.* to 'hollowman'@'%';
Query OK, 0 rows affected (0.02 sec)

all表示全部权限(insert,update,delete等),*.*表示任意数据库的任意表格。

4.修改配置文件

ubuntu20.04通过apt安装的mysql服务配置文件本是/etc/mysql/my.cnf,不过该文件并未实质配置数据,而是在文件中添加了2个连接文件,其中/etc/mysql/mysql.conf.d/mysqld.cnf才是真正的服务器配置文件。

初始安装的数据库配置文件并不允许远程访问,需要配置

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid      # 去掉此行前的注释
socket	= /var/run/mysqld/mysqld.sock      # 去掉此行前的注释
port		= 3306          # 去掉此行前的注释
datadir	= /var/lib/mysql         # 去掉此行前的注释
#bind-address		= 127.0.0.1    #注释此行
#mysqlx-bind-address	= 127.0.0.1    #注释此行
key_buffer_size		= 16M
myisam-recover-options  = BACKUP
log_error = /var/log/mysql/error.log
max_binlog_size   = 100M

三、PHP

1.安装php及重要库

$ sudo apt install php   		#安装php
$ sudo apt install php7.4-gd	#安装php-gd库,很多插件需要用到此库
$ sudo apt install php7.4-mysql	#安装php-mysql扩展
$ sudo apt install php-curl		#安装php-curl扩展
$ sudo apt install php-mbstring #安装php-mbstring扩展

2.启用扩展库支持

$ sudo vim /etc/php/7.4/apache2/php.ini

extension=curl     		 #去掉注释
extension=mbstring   	 #去掉注释
extension=mysqli         #去掉注释

至此,重启apache2服务,环境搭建成功。

四、搭建网站

一个简易的快速搭建网站模板typecho,搭建后的效果如下:
Ubuntu搭建Lamp环境(Linux+apache+mysql+php)_第1张图片

你可能感兴趣的:(Linux学习,mysql学习,PHP学习,apache,ubuntu,php)