apache的安装配置启用
Apache 的安装无外乎两种方式:源代码安装和二进制包安装。这两种安装类型各有特色,二进制包安装不需要编译,而源代码安装则需要先配置编译再安装,二进制包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。本文主要介绍二进制DEB包安装方式(此方法只适用于Debian GNU/Linux 及其衍生版)。
系统:GNU/Linux Debian/etch
Apache当前版本: 242
1、安装:
使用以下命令安装:
tony@tonybox:~$sudo aptitude update aptitude install apache2 apache2-utils
其中apache2-utils提供了我们在配置维护过程中非常有用的一些工具
安装完成后,可以使用下面的命令启动Apache 服务:
tony@tonybox:~$ sudo /etc/initd/apache2 start
停止Apache服务则是:
tony@tonybox:~$ sudo /etc/initd/apache2 stop
也可以直接用 kill 命令强制杀死apache2进程
tony@tonybox:~$ sudo killall apache2
如有需要, 可以通过rcconf来控制是否在系统启动时加载Apache 服务
启动完成后打开浏览器, 使用URL http://localhost/ 来访问已经启动的Apache服务器, 服务器将会跳转到 http://localhost/apache2-default/, 向浏览器返回一个Apache安装成功的页面。
注: 这取决于/etc/apache2/sites-available/default 配置文件中, 是否取消了
RedirectMatch ^/$ /apache2-default/
行的注释
2、 配置文件说明
在Debian下, 安装完成后, 软件包为我们提供的配置文件位于/etc/apache2目录下:
tony@tonybox:/etc/apache2$ ls -l
total 72
-rw-r--r-- 1 root root 12482 2006-01-16 18:15 apache2conf
-rw-r--r-- 1 root root 748 2006-01-16 18:05 envvars
-rw-r--r-- 1 root root 268 2006-06-30 13:56 httpdconf
-rw-r--r-- 1 root root 12441 2006-01-16 18:15 magic
-rw-r--r-- 1 root root 10 2006-06-30 13:56 portsconf
-rw-r--r-- 1 root root 2266 2006-01-16 18:15 README
drwxr-xr-x 2 root root 4096 2006-01-16 18:15ssl
其中
apache2conf
为apache2服务器的主配置文件, 查看此配置文件, 你会发现以下内容
# Include module configuration:
Include /etc/apache2/mods-enabled/load
Include /etc/apache2/mods-enabled/conf
# Include all the user configurations:
Include /etc/apache2/httpdconf
# Include ports listing
Include /etc/apache2/portsconf
# Include generic snippets of statements
Include /etc/apache2/confd/[^#]
由此可见, apache2 根据配置功能的不同, 对配置文件进行了分割, 这样更利于管理
confd
下为配置文件的附加片断,默认情况下, 仅提供了 charset 片断,
tony@tonybox:/etc/apache2/confd$ cat charset
AddDefaultCharset UTF-8
如有需要我们可以将默认编码修改为 GB2312, 即文件的内容为: AddDefaultCharset GB2312
httpdconf
是个空文件
magic
文件中包含的是有关mod_mime_magic模块的数据, 一般不需要修改它。
portsconf
则为服务器监听IP和端口设置的配置文件,
tony@tonybox:/etc/apache2$ cat portsconf
Listen 80
mods-available
目录下是一些。conf和。load 文件, 为系统中可以使用的加载各种模块的配置文件, 而mods-enabled目录下则是指向这些配置文件的符号连接, 从配置文件apache2conf 中可以看出, 系统通过mods-enabled目录来加载模块, 也就是说, 系统仅通过在此目录下创建了符号连接的mods-available 目录下的配置文件来加载模块。同时系统还提供了两个命令 a2enmod 和 a2dismod用于维护这些符号连接。这两个命令由 apache2-common 包提供。命令各式也非常简单: a2enmod [module] 或 a2dismod [module]
sites-available
目录下为配置好的站点的配置文件, sites-enabled 目录下则是指向这些配置文件的符号连接, 系统通过这些符号连接来起用站点 sites-enabled目录下的符号连接附有一个数字前缀, 如000-default, 这个数字用于决定启动顺序, 数字越小, 启动优先级越高。 系统提供了两个命令 a2ensite 和 a2dissite 用于维护这些符号连接。这两个命令由 apache2-common 包提供。
/var/www
默认情况下将要发布的网页文件应该置于/var/www目录下,这一默认值可以同过主配置文件中的DocumentRoot 选项修改。
注意:如果你在是windows下应用Apache服务器,并且已经安装IIS,那么在安装Apache时请注意给Apache换个端口来监听比如8080,否则Apache占用的端口会和IIS冲突,造成Apache服务器不能正常启动。
3启用SSL让apache更安全
apache加密TCP/IP网络产品的标准是SSL ,对于Internet上普遍使用的超文本传输协议(HTTP)而言,其加密后的协议称为 HTTPS,缺省采用443端口。HTTPS数据是加密以后传输的,因此能有效保护在网络上传输的个人隐私信息。
对apache配置支持SSL需要经过如下的操作:
第一步:下载所需的软件并解开到 /usr/local/src 目录
Apache 1324
Mod_ssl 288-1324
Openssl-096c
每个 mod_ssl 的版本和特定的 Apache 版本有关,因此要下载相对应的 mod_ssl 版本。
第二步:编译和安装
安装 OpenSSL 到 /usr/local/ssl: # pwd
/usr/local/src/openssl-096c
# /config
# make
# make test
# make install
安装 mod_ssl,编译进 Apache 的源码树: # pwd
/usr/local/src/mod_ssl-288-1324
# /configure --with-apache=/usr/local/src/apache_1324 \
--with-ssl=/usr/local/ssl
以 DSO 方式编译 Apache: # pwd
/usr/local/src/apache_1324
# /configure --prefix=/usr/local/apache --enable-rule=SHARED_CORE \
--enable-module=ssl --enable-shared=ssl
# make
创建 SSL 证书,证书需要从商业的认证权威机构或者从内部的 CA 得到。
执行下面的步骤生成证书: # pwd
/usr/local/src/apache_1324
# make certificate TYPE=custom
生成证书时会提示两遍下面的信息:<> 内为示范数据。
第一遍: Country Name (2-letters)
State or Province Name
Locality Name
Organization Name
Organizational Unit Name
Common Name
Email Address
Certificate Validity <365>
第一遍会产生一个用于测试的 CA。Common Name 可以为任意文本。第二遍 Country Name (2-letters)
State or Province Name
Locality Name
Organization Name
Organizational Unit Name
Common Name
Email Address
Certificate Validity <365>
第二遍产生的是实际可用的证书,能被商业机构或者内部 CA 认证, Common Name 为 Web 服务器的主机名。
安装并运行 Apache # pwd
/usr/local/src/apache_1324
# make install
启动 Apache ,并测试 # pwd
/usr/local/apache/bin
# /apachectl stop
# /apachectl startssl
在浏览器上检查你的站点正常与否即可,至此即可让apache支持安全的SSL。
在Apache 14以后的版本,我们还可以用以下命令完成服务的完美重启:
#/apachectl graceful
1、找到apache安装目录下,conf文件夹下的httpdconf文件,用记事本或其他文本编辑软件打开。在文件中搜索”Includeconf/extra/httpd-vhostsconf“这一行,去掉前面的”#“,开启虚拟主机功能。
2、在终端窗口中输入sudovi/etc/apache2/apacheconf--回车--找到Directory/var/www/的位置--更改/var/www/为新的根目录就可以了。
3、第一步:打开apache的配置文件httpdconf,去掉LoadModulerewrite_modulemodules/mod_rewriteso前面的#号。
4、每个域名建一个网站,一个网站绑定一个域名。
5、运行Apache客户端点击Next如图操作点击Next继续Next设置系统信息,在NetworkDomain下填入您的域名,在ServerName下填入您的服务器名称,在AdministratorsEmailAddress下填入系统管理员的联系电子邮件地址。
支持php的eclipse中配置apache服务器步骤:
新建项目。 File - New - New PHPproject,这里要注意的是 Location,输入你的XAMPP 中 Apach 的 DocumentRoot路径,如"C:/PHPWorkspace",并且确保 Use default location 为未选中状态
安装xampp,开启Apache服务出现端口80被占用,如下图:
原因有两个:1)IIS占用80端口,2)httpdconf文件没有设置好<Directory >的参数,即上面的第5步。最简单的解决方法把httpdconf文件中的80全改为8081,也可以参考网上提供解决80端口被占用的方法。
PHP环境搭建第一步:Windows 7下安装Apache服务
点击下载的httpd-2221-win32-x86-openssl-098rmsi程序,一系列的许可允许之后,来到服务器信息配置步骤,如下图所示。分别填写Network Domain,ServerName及Administrator’s Email Address,因为是在Win7下做开发环境使用,这三项可以随便填写,不需要过多在意。最后一个选项是让用户选择,该Apache服务是针对当前用户还是Win系统中的所有用户,一般选择第一个即可,该选项默认Apache端口是80。如果选择第二项,仅针对当前用户,则端口号为8080。
Apache服务器信息
完成上述操作之后,点击下一步,选择Custom Setup,进行自定义安装,如下图所示。选择框中的各种选项我们保持默认即可,不需要更改。这一步我们只需要注意修改Apache安装的路径。
Apache自定义安装
完成上述几步操作之后,一路点击Next,即可完成Apache在Win7下的安装。完成之后,打开浏览器访问127001或localhost,如果出现“It works!”,表示Apache服务安装成功。
PHP环境搭建第二步:Windows 7下安装Mysql服务
MySQL的安装相比Apache更为简单,双击mysql-5520-win32msi,一路Next,同样选择Custom Setup自定义安装,如下图所示,只需要选择安装的路径即可,接着一路Next即可完成Win7下Mysql服务的安装。
MySQL自定义安装
PHP环境搭建第三步:Windows 7下Mysql配置
完成安装之后,MySQL会跳出MySQL Server Instance Configuration窗口,这一块是对MySQL服务器做的相关配置。首先,因为是开发环境,我们选择StandardConfiguration标准配置。配置第一步如下所示,MySQL服务名称默认即可不需要改变,将”Include bin Directory in Windows PATH”勾选上,此项用于在CMD中直接可以使用MySQL命令行工具。
MySQL系统配置
MySQL配置的第二步是设置root密码,原始安装的数据库root用户是没有密码的,我建议各位在这里,无论简单复杂,都设置一个密码。另外注意“Enable root access from remote machines”选项用于选择是否允许root用户远程连接数据库,做为开发环境,此项可以不选上也可以选上。“CreateAn Anonymous Account”不用勾选,匿名账户对于开发环境没有太多作用。
MySQL安全配置
完成上述MySQL配置之后,系统会开始进行配置过程,大概不到一分钟的时间,MySQL在Win7下的配置完成。这里我们先暂时不管PHP与MySQL之间的关联问题,等安装PHP结束之后,再做统一的配置。
PHP环境搭建第四步:Windows 7下PHP安装
因为我们下载的是php的zip包,相当于绿色软件一样,不需要进行繁琐的安装,直接解压php-539-Win32-VC9-x86zip文件到任意目录当中即可完成PHP在Win7系统下的安装。
PHP环境搭建第五步:Windows 7下PHP、Apache、MySQL综合配置
请注意:配置过程中使用的输入均为英文输入,尤其是标点符号的双引号,文中可能为中文引号,一旦直接复制粘贴,可能导致配置失败!!!
还有,如果在windows的文件夹系统直接复制路径,文件夹之间是反斜线(\),但是配置中使用的均为斜线(/),请不要输入错误。
PHP配置
首先进入PHP解压的目录,找到phpini-development配置文件,并将其重命名为phpini,该文件即为当前系统php的配置文件。打开phpini配置文件,根据下面提示进行配置。
找到如下内容
; On windows:
; extension_dir = "ext"
修改为
; On windows:
extension_dir = "E:/ProgramFiles (x86)/PHP/ext"
请注意,extension_dir前面的分号需要去掉,另外将值修改为PHP文件夹下的ext文件夹路径,该配置用于更新PHP扩展路径文件夹,所有的扩展库都在该文件夹中。
接着,我们需要让PHP支持MySQL数据库,并开启如CURL,GD2,XML,PDO等扩展,找到如下内容,将其前面的分号(;)去掉。
extension=php_curldll
extension=php_gd2dll
extension=php_mbstringdll
extension=php_mysqldll
extension=php_mysqlidll
extension=php_pdo_mysqldll
extension=php_pdo_odbcdll
extension=php_xmlrpcdll
我们都知道PHP支持session功能,默认的,PHP的session是保存在文件系统中的,那么我们需要为Session设置保存文件夹。
找到如下内容
; sessionsave_path = "/tmp"
修改为
sessionsave_path = "E:/Program Files (x86)/PHP/custom/session"
将分号取出,并重新设置任意路径,确保文件夹存在即可,为了管理方便,建议你设置到PHP的安装路径当中,防止不小心给删掉。
完成session设置之后,我们还需要配置一个文件夹路径,即PHP的临时文件路径,学习PHP的同学都知道,在通过PHP上传文件时,文件首先是在一个临时文件夹当中的。
找到如下内容
; upload_tmp_dir =
修改为
upload_tmp_dir = "E:/Program Files (x86)/PHP/custom/upload"
最后,PHP在53版本之后需要强制设置时区,否则在运行phpinfo()及部分程序时将报错无法运行。
找到如下内容
;datetimezone =
修改为
datetimezone = Asia/Shanghai
配置Apache支持PHP
在Apache配置目录E:\Program Files (x86)\Apache Software Foundation\Apache22\conf中(这是我的安装目录,请注意windows下直接复制的路径使用反斜线做分隔符,配置文件中全部是使用斜线做分隔符,请千万注意!),找到httpdconf配置文件。
在
#LoadModule vhost_alias_module modules/mod_vhost_aliasso
下面一行添加如下内容。
LoadModule php5_module "E:/Program Files (x86)/PHP/php5apache2_2dll"
PHPIniDir "E:/Program Files (x86)/PHP"
AddType application/x-httpd-php php html htm
该配置第一行指定PHP及Apache的模块路径,该模块文件一般位于php根目录下,第二行用于指定PHP在Win7中的路径,第三行添加文件类型,其中,第一及第二行需要根据PHP的安装路径进行修改。
接着,我们需要为Apache指定WEB服务器的根目录,默认的,Apache根目录为Apache目录下的htdocs文件夹,为了方便开发,我们将其设置在E盘下的htdocs目录。首先在E盘下建立htdocs目录,当然你也可以修改为任意你想命名的WEB根目录,然后,在配置文件中分别找到如下内容。
DocumentRoot "E:/Program Files (x86)/ApacheSoftwareFoundation/Apache22/htdocs"
<Directory "E:/Program Files (x86)/ApacheSoftwareFoundation/Apache22/htdocs">
修改为
DocumentRoot "E:/htdocs"
<Directory "E:/htdocs">
最后,修改根目录的初始文件类型,Apache默认使用indexhtml作为目录的初始文件,这里为了让Apache首先寻找php文件,我们做些修改。
找到如下内容
DirectoryIndex indexhtml
修改为
DirectoryIndex indexphp indexhtml
到此,Apache支持PHP的相关配置完成,重启服务器,在新的目录中创建indexphp文件,并写入如下内容。
<php
phpinfo();
>
再次打开浏览器,访问localhost,一切正常的话,就会显示php的相关配置信息了,如下图所示。
PHP配置信息
测试PHP对MySQL的支持
最后我们需要测试下PHP是否已经能够连接数据库,我们在配置过程中,曾经将;extension=php_mysqldll等一系列与MySQL相关的扩展之前的分号给去除,这样PHP就能够通过这些扩展完美支持相应的程序。在根目录中创建mysqlphp文件,并写入如下内容。
<php
$dbc= mysql_connect("127001","root","(你的mysql密码)");
if(!$dbc) {
echo"数据库链接错误!";
}else{
echo"PHP环境搭建:Windows7系统配置PHP+Apache+MySQL环境教程";
}
mysql_close();
>
在浏览器中访问,127001/mysqlphp,如果提示“PHP环境搭建:Windows7系统配置PHP+Apache+MySQL环境教程”,则说明PHP已经完美支持MySQL了。
Apache 作为世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一
相信前端的小伙伴对于 apache 和 nginx 都有所了解,特别是前后端分离,独立开发部署后,使用web服务器做一些代理服务可以解决绝大多数因为前后端分离造成的跨域,认证等问题(PS:都2020年了,不会还有项目组主张使用weblogic或tomcat部署前端项目吧 不会吧,不会吧,不会吧
0条评论