1.apache已经linux存在,查看apache版本信息及安装目录
# apachectl -v
Server version: Apache/2.2.3
2.安装mysql,由于redhat Enterprise 5 中自带一个mysql的版本,需要先删除
a. 查找已安装的myslq 版本:
#rpm -qa | grep mysql (注意大小写,如果mysql 不行就换MySQL)
在屏幕上将显示已安装的mysql包名如:mysql-5.0.77-3.el5 ;
b. 将搜索出的包名卸载:
#rpm -e --nodeps mysql-5.0.77-3.el5 (nodeps表示强制删除)
再次查找该包名,如果没有结果输出则表明已将该版本的mysql卸载了
c. 下载mysql:http://dev.mysql.com/downloads/mysql/5.0.html
客户端:MySQL-client-community-5.0.92-1.rhel5.x86_64.rpm
服务端:MySQL-server-community-5.0.92-1.rhel5.x86_64.rpm
d.检查perl-DBI-1.52-2.el5.rpm是否安装,
该包为是安装mysql的依赖,没它mysql安装不起,查看是否安装,如果安装了就不需要了,
可以通过 #rpm -qa | grep perl* 查看是否已经安装,该包在linux系统盘上可以找到,以下提供该包下载)
e.安装mysql
[root@localhost /]#rpm -ivh MySQL-server-community-5.0.92-1.rhel5.x86_64.rpm
[root@localhost /]#rpm -ivh MySQL-client-community-5.0.92-1.rhel5.x86_64.rpm
f.查看是否安装成功
[root@localhost /]#netstat -ntpl
显示3306端口开放表示服务安装成功
[root@localhost /]#mysql
能自动登陆,则已成功
g.修改mysql root密码
[root@localhost /]#/usr/bin/mysqladmin -u root password 'xxxxxx';
[root@localhost /]#mysql -u root -p
Enter password:xxxxxx
出现mysql>表示登陆成功!
h.对mysql用户设置远程访问权限
方法1、改表法:登陆mysql后,更改“mysql”数据库里的“user”表里的“host”项,将“localhost”改“%”
mysql>use mysql;
mysql>update user set host ='%' where user ='root';
mysql>select host,user from user;
mysql>FLUSH PRIVILEGES
方法2、授权法:假设允许用户username通过密码password从远程连接到mysql服务器
mysql>GRANT ALL RRIVILEGES ON *.* TO username@'%' IDENTIFIED BY 'password' WITH GRANT
OPTION;
mysql>FLUSH PRIVILEGES;
i.安装目录结构
数据库目录:/var/lib/mysql/
配置文件:/usr/share/mysql(mysql.server命令及配置文件)
相关命令:/usr/bin(mysqladmin、mysqldump等命令)
(*mysql的一种安全启动方式:/usr/bin/mysqld_safe -- user=root &)
启动脚本:/etc/rc.d/init.d/
2.安装php最新版,从http://www.php.net/downloads.php下载
php-5.3.5.tar.gz
a.解压
[root@localhost /]# tar -zxvf php-5.3.5.tar.gz
b.安装
[root@localhost /]# cd php-5.3.5
[root@localhost /]#
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql
其中--with-apxs2=/usr/local/apache/bin/apxs 是指向apache目录
[root@localhost /]# make
[root@localhost /]# make install
[root@localhost /]# cp php.ini-production /usr/local/lib/php.ini
c.配置
# vi /usr/local/apache/conf/httpd.conf
修改此文件,更改以下指令为:
DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3
ServerName 12.34.56.78:80 //这里的ip和端口号视实际情况而定
在/etc/hosts文件里添加对应的ip的ServerName
修改可以访问的地址
Order allow,deny
Allow from *****
Options FollowSymLinks MultiViews //为安全起见,去掉"Indexes"
根据php的版本,当前版本为5,下载libphp5.so并且添加这一句
LoadModule php5_module /etc/httpd/modules/libphp5.so
找到AddType处,并添加以下2行:
AddType application/x-httpd-php .php .php3 .phtml .inc
AddType application/x-httpd-php-source .phps
vi /usr/local/lib/php.ini
更改以下指令为:
register_globals = On
注:命令中执行下列命令
*1增加用户、用户组、添加用户到用户组
useradd ali
groupadd ali
usermod -G ali ali
*2修改/var/www/html的所属用户及用户组
chown -R ali:ali /var/www/html
#User apache
#Group apache
User ali
Group ali
使用setenforce 0,关闭selinux
关闭防火墙,service iptables stop
项目部署到Apache Http Server上面,通过apachectl -t 检测配置文件也没有问题。可是通过浏览器访问,却出现了“you don't have permission to access / on this server”.
1、首先,查看conf.d/python.conf文件
<Directory "项目路径">
Options Indexes FollowSymLinks +Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
上面标红部分,表示允许任何人访问目录
2、其次,既然配置文件没有问题,那就需要考虑http.conf文件中指定的用户和组的访问权限。在Apache的wiki上有关于PermissionDenied的解决方法,链接是http://wiki.apache.org/httpd/13PermissionDenied,译文如下:
Error 13 指的是文件系统的访问权限错误。也就是由于错误的权限,apache被拒绝访问。一般的来说,这并不意味着是Apache配置文件存在错误。
为了给文件提供服务,Apache必须有适当的权限去访问那些文件,这些权限是由操作系统授予的。特别是在httpd.conf文件中指定User或者Group必须能够读取所有被服务的文件,以及查找包含那些文件的目录和所有的父目录直至文件系统的根。
一个类unix操作系统上不属于httpd.conf文件中指定的User或Group的资源的典型访问权限,对于普通的文件是644 -rw-r--r--,对于文件夹或者CGI脚本是755 drwxr-x-r-x。你也可能需要去查看操作系统所支持的扩展的访问权限(例如SELinux访问权限).
3.重新安装apache
需先安装以下包,用于解决问题:apache2.3.8编译出错 configure: error: APR-util not found. Please read the documentation
a.apr-1.4.2.tar.gz
[root@localhost /]#
./configure –prefix=/usr/local/web/apr
[root@localhost /]#
make
[root@localhost /]#
make install
b.apr-util-1.3.10.tar.gz
[root@localhost /]#./configure –prefix=/usr/local/web/apr-util –with-apr=/usr/local/web/apr
[root@localhost /]#make
[root@localhost /]#make install
c.pcre-8.10.tar.gz
[root@localhost /]#./configure –prefix=/usr/local/web/pcre
[root@localhost /]#make
[root@localhost /]#make install
最后安装apache
[root@localhost /]#./configure -prefix=/usr/local/apache -enable-rewrite -enable-so -with-apr=/usr/local/web/apr -with-apr-util=/usr/local/web/apr-util -with-pcre=/usr/local/web/pcre
[root@localhost /]#make
[root@localhost /]#make install
apache安装成功