一、软件安装
安装 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