linux apache 模块(nginx apache)
其实linux apache 模块的问题并不复杂,但是又很多的朋友都不太了解nginx apache,因此呢,今天小编就来为大家分享linux apache 模块的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
linux下配置apache同时支持 php cgi
安装LINUX时如果安装了PERL那么装上LINUX立刻可以执行CGI只要在HTTPD.CONF里面允许了CGI一般默认安装都可以
PHP你到php.net下载PHP编译安装后修改HTTPD.CONF添加相关扩展就可以了
------------------------------------------------------------
说得比较不详细转一个帖
------------------------------------------------------------
Linux+Apache+Mysql+PHP典型配置
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
关键字:apache+mysql+php apache mysql php配置 lamp服务器 web
Linux+Apache+Mysql+PHP典型配置
调试环境:Redhat9.0 Apache1.3.29 Mysql3.23.58 PHP4.3.4
Linux系统的安装我就不讲了,这是基本功,其实这篇文章在类似Redhat的其他linux也应该通用,大家只要掌握我提供的方法就行。记得安装Redhat9。0的时候不要安装系统默认的apache,mysql和php以及相关的软件。已经安装的请用rpm-e*删除已经安装的包。
1.安装Mysql3.23.58
其实老实说直接安装Mysql官方网站提供的rpm包也是一个比较可行的办法,他的官方网站的rpm包的提供基本跟tar包发行是同步的,这点我比较喜欢,至少安装rpm包的在后面的调试中不会出现mysql库文件找不到的情况。但这里还是有必要讲一下自定义安装的步骤,毕竟网友自定义安装的还说挺多的。
软件获取:
安装步骤:
tar zxvf mysql-3.23.58.tar.gz
cd mysql-3.23.58
./configure--prefix=/usr/local/mysql--sysconfdir=/etc--localstatedir=/var/lib/mysql
make
make install
#prefix=/usr/local/mysql mysql安装的目标目录
#sysconfdir=/etc my.ini配置文件的路径
#localstatedir=/var/lib/mysql数据库存放的路径
安装完以后要初始化数据库,当然你是升级的话不用做这步;
/usr/local/mysql/bin/mysql_install_db
如果系统没有mysql这个用户的话,最好做以下这步:
useradd-M-o-r-d/var/lib/mysql-s/bin/bash-c"MySQL Server"-u 27 mysql
然后我启动mysql
/usr/local/mysql/bin/safe_mysqld&
ok,先看看mysql能否正常工作
mysql-uroot mysql
一般情况下都是不能正常链接数据库,错误提示一般为:
ERROR 2002: Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock'(2)
其实网上大家问的最多的都是整个问题,说什么链接不到mysqld.sock,其实大家不妨看看mysql的错误日志就明白怎么回事,我这里的错误日志是在
/var/lib/mysql/*.err你会发现mysql只所以不能启动,是因为/var/lib/mysql的权限不允许mysql服务访问,英文mysql默认是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简单了。我们只要
chown-R mysql:mysql/var/lib/mysql就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的问题。
如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置,反正我每次都是这么做的,一般不会有问题,见下:
chown-R root/usr/local/mysql
chgrp-R mysql/usr/local/mysql
chown-R root/usr/local/mysql/bin
chgrp-R mysql/usr/local/mysql/bin
chgrp-R mysql/var/lib/mysql
chmod 777/var/lib/mysql
chown-R root/var/lib/mysql/mysql
chgrp-R mysql/var/lib/mysql/mysql
chmod 777/var/lib/mysql/mysql
chown-R root/var/lib/mysql/mysql/*
chgrp-R mysql/var/lib/mysql/mysql/*
chmod 777/var/lib/mysql/mysql/*
chmod 777/usr/local/mysql/lib/mysql/libmysqlclient.a
做完上面的步骤,然后把你编译目录的一个脚本COPY过去
cp support-files/mysql.server/etc/rc.d/init.d/mysqld
chkconfig--add mysqld
用ntsysv设置使mysql每次启动都能自动运行。
好了,至此mysql安装完毕,你可以这样起动你的mysql服务
/etc/rc.d/init.d/mysqld start
下面这步比较关键,
ln-s/usr/local/mysql/lib/mysql/usr/lib/mysql
ln-s/usr/local/mysql/include/mysql/usr/include/mysql
大家可以不做这步,大可以在编译其他软件的时候自定义myslq的库文件路径,但我还是喜欢把库文件链接到默认的位置,这样你在编译类似PHP,Vpopmail等软件时可以不用指定mysql的库文件地址。
2.安装Apache1.3.29。我没有选择安装Apache2.0是我对他还是不放心,因为网上最新公布的apache的漏洞基本上是针对2.0,当然大家可以自己选择安装相应的版本。我这里讲的都是采用DSO动态编译的方法编译Apache.
至于有关apache的编译方法,可以参考我以前的文章《apache的静态/动态编译在apache+php+mysql的应用》
软件获取:
tar zvxf apache_1.3.29.tar.gz
cd apache_1.3.29
修改src/include/httpd.h增大最大线程数
#define HARD_SERVER_LIMIT 256
改成
#define HARD_SERVER_LIMIT 2560
保存退出编译apache
./configure--prefix=/usr/local/apache--enable-module=so--enable-module=rewrite--enable-shared=max--htdocsdir=/var/www&&
make&&
make install
#这里我们通过enable-module参数告诉设置脚本,我们需要启动so和rewrite模块,so模块是用来提DSO支持的apache核心模块,而rewrite模块则是用意实现地址重写的模块,由于rewrite模块需要DBM支持,如果在初次安装时没有编译进apache,以后需要用到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块,否则还是建议你在第一次编译的时候把rewrite模块编译好。
enable-shared=max这个参数的作用时编译apache时,把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。
好了安装apache很简单的哦,启动apache看看
/usr/local/apache/bin/apachectl start
然后用ie看http://你的服务器地址。应该能看到熟悉的apache羽毛标志。
3.安装PHP4.3.4
软件获取:
tar zvxf php-4.3.4.tar.gz
cd php-4.3.4
./configure\
--prefix=/usr/local/php\
--with-mysql=/usr/local/mysql\
--enable-force-cgi-redirect\
--with-freetype-dir=/usr\
--with-png-dir=/usr\
--with-gd--enable-gd-native-ttf\
--with-ttf\
--with-gdbm\
--with-gettext\
--with-iconv\
--with-jpeg-dir=/usr\
--with-png\
--with-zlib\
--with-xml\
--enable-calendar\
--with-apxs=/usr/local/apache/bin/apxs
make
make install
#我这里由于服务器需要用到GD库,所以加了一些支持GD的编译参数,GD直接用了redhat自带的GD库,大家没有安装的话可以从安装盘安装,注意除了安装GD以外,还要安装libjpeg,libpng等库文件。另外--with-mysql=/usr/local/mysql指向你安装mysql的路径。--with-apxs指向apache的apxs文件的路径。
vi/usr/local/apache/conf/httpd.conf
查找
在此范围添加
AddType application/x-httpd-php.php
AddType application/x-httpd-php-source.phps
然CPOPY PHP的配置文件
cp../php4.3.4/php.ini.dist/usr/local/php/lib/php.ini
修改php.ini文件
register_globals= On
ok!重新启动一下apache服务器
/usr/local/apache/bin/apachectl restart
然后写个php测试页info.php:内容如下
<?php
phpinfo();
?>
正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。
好了写了这么多,希望对大家有所帮助!!!
apache的安装配置启用
Apache的安装无外乎两种方式:源代码安装和二进制包安装。这两种安装类型各有特色,二进制包安装不需要编译,而源代码安装则需要先配置编译再安装,二进制包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。本文主要介绍二进制DEB包安装方式(此方法只适用于Debian GNU/Linux及其衍生版)。
系统:GNU/Linux Debian/etch
Apache当前版本: 2.4.2
1、安装:
使用以下命令安装:
tony@tonybox:~$sudo aptitude update aptitude install apache2 apache2-utils
其中apache2-utils提供了我们在配置维护过程中非常有用的一些工具
安装完成后,可以使用下面的命令启动Apache服务:
tony@tonybox:~$ sudo/etc/init.d/apache2 start
停止Apache服务则是:
tony@tonybox:~$ sudo/etc/init.d/apache2 stop
也可以直接用 kill命令强制杀死apache2进程
tony@tonybox:~$ sudo killall apache2
如有需要,可以通过rcconf来控制是否在系统启动时加载Apache服务
启动完成后打开浏览器,使用URL 来访问已经启动的Apache服务器,服务器将会跳转到 ,向浏览器返回一个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 apache2.conf
-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 httpd.conf
-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 ports.conf
-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
其中
apache2.conf
为apache2服务器的主配置文件,查看此配置文件,你会发现以下内容
# Include module configuration:
Include/etc/apache2/mods-enabled/*.load
Include/etc/apache2/mods-enabled/*.conf
# Include all the user configurations:
Include/etc/apache2/httpd.conf
# Include ports listing
Include/etc/apache2/ports.conf
# Include generic snippets of statements
Include/etc/apache2/conf.d/[^.#]*
由此可见, apache2根据配置功能的不同,对配置文件进行了分割,这样更利于管理
conf.d
下为配置文件的附加片断,默认情况下,仅提供了 charset片断,
tony@tonybox:/etc/apache2/conf.d$ cat charset
AddDefaultCharset UTF-8
如有需要我们可以将默认编码修改为 GB2312,即文件的内容为: AddDefaultCharset GB2312
httpd.conf
是个空文件
magic
文件中包含的是有关mod_mime_magic模块的数据,一般不需要修改它。
ports.conf
则为服务器监听IP和端口设置的配置文件,
tony@tonybox:/etc/apache2$ cat ports.conf
Listen 80
mods-available
目录下是一些。conf和。load文件,为系统中可以使用的加载各种模块的配置文件,而mods-enabled目录下则是指向这些配置文件的符号连接,从配置文件apache2.conf中可以看出,系统通过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 1.3.24
Mod_ssl 2.8.8-1.3.24
Openssl-0.9.6c
每个 mod_ssl的版本和特定的 Apache版本有关,因此要下载相对应的 mod_ssl版本。
第二步:编译和安装
安装 OpenSSL到/usr/local/ssl:# pwd
/usr/local/src/openssl-0.9.6c
#./config
# make
# make test
# make install
安装 mod_ssl,编译进 Apache的源码树:# pwd
/usr/local/src/mod_ssl-2.8.8-1.3.24
#./configure--with-apache=/usr/local/src/apache_1.3.24 \
--with-ssl=/usr/local/ssl
以 DSO方式编译 Apache:# pwd
/usr/local/src/apache_1.3.24
#./configure--prefix=/usr/local/apache--enable-rule=SHARED_CORE \
--enable-module=ssl--enable-shared=ssl
# make
创建 SSL证书,证书需要从商业的认证权威机构或者从内部的 CA得到。
执行下面的步骤生成证书:# pwd
/usr/local/src/apache_1.3.24
# 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_1.3.24
# make install
启动 Apache,并测试# pwd
/usr/local/apache/bin
#./apachectl stop
#./apachectl startssl
在浏览器上检查你的站点正常与否即可,至此即可让apache支持安全的SSL。
在Apache 1.4以后的版本,我们还可以用以下命令完成服务的完美重启:
#./apachectl graceful
linux下如何找到apache的安装目录。找到apache的配置文件
在Linux系统中,寻找Apache的安装目录和配置文件并不复杂。以下是两种常见的安装方式下的查找步骤:
首先,如果你使用的是RPM包安装Apache,通常它的配置文件会分布在以下几个路径:
应用程序的默认安装位置:/usr
配置文件所在的目录:/etc
你可以通过`rpm-qlhttpd-xxxx`命令查看Apache的具体安装路径,这里的"xxxx"需要替换为你安装的具体Apache版本号。
其次,如果你选择源代码安装,安装时可以通过`configure--prefix=安装路径`选项指定安装位置。默认情况下,它会安装在/usr/local目录下。安装后,配置文件也会在这个路径的相应子目录中。
ApacheHTTPServer是一个功能强大的Web服务器,它基于NCSAhttpd服务器,以模块化设计而闻名,支持Perl/Python等语言扩展。它被广泛应用于各种操作系统,因其高速、可靠和可扩展性而备受青睐,是Web服务器市场的领军者。
总的来说,通过上述方法,你就能轻松找到Apache在Linux系统中的安装目录和配置文件位置。如果你正在寻找特定的配置文件,记得替换上述路径中的细节以适应你的实际情况。