Ubuntu搭建Apache和PHP环境

一、软件安装

安装 Apache2:

sudo apt-get install apache2

安装PHP模块:

sudo apt-get install php5

安装Mysql

sudo apt-get install mysql-server

其他模块安装:
sudo apt-get install libapache2-mod-php5
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo apt-get install php5-gd

  前两个很容易明白,要想Apache能够解析PHP,就需要借助这两个模块来找到php engine。第三个在php操作mysql数据库时用到,大多数人都有数据库编程经验,所以这就不用多解释了。

二、Apache2相关配置

  ubuntu 用apt-get install apache2安装apache2后,配置文件都在/et/apache2目录下。
在这里插入图片描述
  apache2在启动的时候自动读取/etc/apache2/apache2.conf文件的配置信息,不同的配置项按功能分布在不同的文件中,然后被Include包含到apache2.conf这个主配置文件中,方便管理。就是说事实上apache2主配置文件只有一个,即apache2.conf,其他的都是被include进来的。可以把所有的配置都放在apache2.conf或者任何一个配置文件中,但是划分到不同文件会让我们管理起来方便很多,何乐而不为?

Mutex file:${APACHE_LOCK_DIR} default
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

<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>

<Directory /usr/share>
	AllowOverride None
	Require all granted
</Directory>

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

<Directory /home/eric/ChatRoom/html>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

AccessFileName .htaccess

<FilesMatch "^\.ht">
	Require all denied
</FilesMatch>

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

Include /etc/apache2/mods-available/php5.load
Include /etc/apache2/mods-available/php5.conf

(1)sites-available和sites-enabled目录

  sites-available目录是存放可用的内容,但不起作用,只有用ln 连到sites-enabled目录才可以起作用。sites-enabled目录存放真正起作用的配置文件,存放一些指向sites-available目录的符号链接。所以apache上配置了多个虚拟主机,每个虚拟主机的配置都放在sites-available下,那么对于虚拟主机的停用和启用就非常方便。当sites-enabled下建立一个指向某个虚拟主机配置文件的连接时,就启用了它。如果要关闭某个虚拟主机的话,只需要删除相应的符号链接即可,不用去改配置文件。
【DocumentRoot 】:根目录,前端的html文件默认在该目录下启动。

<VirtualHost *:80>
	#ServerName www.ChatRoom.com
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html
	<Directory "/var/www/html">
		Options Indexes FollowSymLinks
		AllowOverride None
		Order allow,deny
		Allow from all
	</Directory>
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

(2)PHP解析问题

  安装完貌似php的解析都有点问题,浏览php网页会保存,apache没有将其解析为网页。网上一般说的是需要在httpd.conf中添加XXXX,对其他的linux系统可能确实如此,但是Ubuntu有点特殊。Ubuntu的apache2配置在/etc/apache2目录下。这个目录下有个apache2.conf文件,这个文件通过包含其他配置文件涵盖了所有的apache2系统配置信息。php解析部分在的配置在/etc/apache2/mods-available下的php5.conf和php5.load中,apache2.conf文件中并没有将这两个文件包含进来,只要包含进去就OK了(如上一届)。

Include /etc/apache2/mods-available/php5.load
Include /etc/apache2/mods-available/php5.conf

(3)启动、重启、关闭Apache服务

// 启动apache服务
sudo /etc/init.d/apache2 start

// 重启apache服务
sudo /etc/init.d/apache2 restart

// 停止apache服务
sudo /etc/init.d/apache2 stop

参考:https://blog.csdn.net/hitabc141592/article/details/23556079

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值