- 论坛徽章:
- 0
|
Apache+mysql+php+resin+proftpd虚拟主机配置【原创】
http://www.chinaunix.net 作者:
redog
发表于:2006-03-31 21:52:21
【
发表评论
】【
查看原文
】【
Web服务器讨论区
】【
关闭
】
Apache+mysql+php+resin虚拟主机配置
序言:这几天同学要做一虚拟主机服务器,要求我给他配一个服务器。以前也没有机会来做这个东西,以前都是简单的服务器安装和管理。这次碰到这么个机会,所以我就准备来磨练以下自己。好好的来体验一下配置和管理一个服务器。写下这个也是希望能给那些有这方面需要的朋友们做个参考,少走一些弯路。当然了,我说过了这是第一做这样的服务器,肯定有很多地方考虑的不是很周到,也许这样的配置还存在着风险,或维护,或性能,或安全方面的问题。也希望这方面有经验的朋友多给点建议。在这里先谢谢了:)(QQ:36597649 email:redogs@sina.com)
首先说明一下系统:Redhat 9.0
Apache+mysql+php+resin虚拟主机配置
一.安装jdk 1
二,安装mysql(这里我下载的是最新的二进制包)
三,安装apache2,安装流程如下。
四,安装php。
五,安装resin
六,proftpd安装
七虚拟主机的添加和管理
附•Mysql使用管理指南
一.安装jdk
[root@localhost root]# ./jdk-1_5_0_06-linux-i586.bin
[root@localhost root]# vi /etc/profile
#添加下列信息到文件中
export JAVA_HOME=/u01/apps/jdk1.5.0_06
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
[root@localhost root]# chmod u+x /etc/profile
[root@localhost root]# source /etc/profile
[root@localhost root]# set
##这里你可以看到所有的环境变量
注:jdk安装还是比较简单的,安装过程比较简单,只要正确的设置了环境变量就可以了.
二,安装mysql(这里我下载的是最新的二进制包)
[root@localhost tools]# tar zxvf mysql-standard-5.0.19-linux-i686.tar.gz
[root@localhost tools]# mv mysql-standard-5.0.19-linux-i686 ../apps/mysql
[root@localhost apps]# cd mysql/
[root@localhost mysql]# groupadd mysql
groupadd: group mysql exists
[root@localhost mysql]# useradd -g mysql mysql
useradd: user mysql exists
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
#这里我没有删除这些安装信息,因为她给我们提供了很多有用的信息。
Installing all prepared tables
Fill help tables
To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password' #设置数据库root用户的密码
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe & #数据库的启功命令
-----
[root@localhost mysql]#
[root@localhost rc.d]# vi /etc/rc.d/rc.local
#加入下面一行,这样每次重新启动机器可以自动运行mysql daemon
/u01/apps/mysql/bin/mysqld_safe --user=mysql &
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# chown -R mysql /var/run/mysqld/mysqld.pid
#没有验证这一个是否需要执行 可能发生Can't connect to local MySQL server through socket '/tmp/mysql.sock' 错误
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
[1] 21334
[root@localhost mysql]# Starting mysqld daemon with databases from /var/lib/mysql
[root@localhost mysql]# bin/mysqladmin -u root password '×××'
bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
#如果你修改数据库密码是碰到了socket '/tmp/mysql.sock' 错误 ,则你需要执行
#下面这个命令,mysql安装后的mysql.sock默认路径是/var/lib/mysql/mysql.sock
[root@localhost mysql]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
下载mysql驱动程序,或者oracle驱动程序classes12.jar,这里我把这两个文件放到了$JAVA_HOME/lib下。并把他们加入到CLASSPATH中。否则jsp连接数据库找不到相应的驱动程序。
注:安装mysql还是让我挺头疼的,我得数据已经启动了,但是修改密码是发生了上面的错误,查了很久才解决了。QQ:36597649 EMAIL:redogs@sina.com
三,安装apache2,安装流程如下。
这里我们使用了--enable-so --enable-module=most 选项。详细信息请参考官方网站。
[root@localhost tools]# tar zxvf httpd-2.2.0.tar.gz
[root@localhost tools]# cd httpd-2.2.0
[root@localhost httpd-2.2.0]# ./configure --prefix=/u01/apps/httpd-2.2.0 --enable-module=most --enable-shared=max
[root@localhost httpd-2.2.0]# make
[root@localhost httpd-2.2.0]# make install
[root@localhost httpd-2.2.0]# cd /u01/apps/httpd-2.2.0/bin
[root@localhost bin]# ./apachectl start
#http://localhost测试是否好使
[root@localhost bin]# ./apachectl stop
注:apache安装也比较顺利,这里没有什么需要注意的地方。
四,安装php。
这里我使用的是源码包。首先碰到了安装php-5.1.2失败。
[root@localhost tools]# ./configure --prefix=/u01/apps/php-5.1.2 --with-mysql=/u01/apps/mysql --with-apxs2=/u01/apps/httpd-2.2.0/bin/apxs
--------------
Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path... /usr/bin/xml2-config
configure: error: libxml2 version 2.6.11 or greater required.
#上面就是安装过程碰到的错误
[root@localhost tools]# rpm -Fvh libxml2-2.6.16-1.1.el3.rf.i386.rpm
warning: libxml2-2.6.16-1.1.el3.rf.i386.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6
error: Failed dependencies:
libxml2 = 2.5.4 is needed by (installed) libxml2-python-2.5.4-1
libxml2 = 2.5.4 is needed by (installed) libxml2-devel-2.5.4-1
#呵呵,居然还是不好使,这里我下载了这两个包,但是最后还是无法安装。怎么办
#三十六计走为上,就换了个版本。
[root@localhost php-4.4.2]# tar zxvf php-4.4.2.tar.gz
[root@localhost php-4.4.2]# cd php-4.4.2
[root@localhost php-4.4.2]# ./configure --prefix=/u01/apps/php-4.4.2 --with-mysql=/u01/apps/mysql --with-apxs2=/u01/apps/httpd-2.2.0/bin/apxs
[root@localhost php-4.4.2]# make
[root@localhost php-4.4.2]# make install
[root@localhost php-4.4.2]# cp php.ini-dist /usr/local/lib/php.ini
[root@localhost conf]# vi httpd.conf
#系统自动添加了这一行,如果没有则自己加入这一行。
LoadModule php4_module modules/libphp4.so
注:安装过程,有点挫折,不过也没什么,没有什么值得注意的地方。倒是php.ini配置文件是个复杂的东西,有一些设置需要我们根据我们的需要做一些修改;全局注册变量默认是off,还有如果我们使用oracle的话,也需要加载相应的模块等。
五,测试php虚拟主机
修改httpd.conf文件加入虚拟主机
我修改了apache server的根目录
另外添加下面内容到httpd.conf的结尾。当然了你也可以放到其他你喜欢的地方。
NameVirtualHost *:80
DirectoryIndex index.htm index.html index.jsp index.php
ServerName *:80
ServerAdmin gan@addmini.com
DocumentRoot /u01/www/test
编写文件index.php 写入下一行
通过浏览器我们看到了我们的测试结果。
六,安装resin
这里下载的版本是resin-3.0.14
[root@localhost resin]#tar zxvf resin-3.0.14.tar.gz
[root@localhost resin]#mv resin-3.0.14 ../apps/resin
[root@localhost resin]#./configure --with-apxs2=/u01/apps/httpd-2.0.50/bin/apxs
这里安装程序自动修改了httpd.conf文件加入了下面两行
# mod_caucho Resin Configuration
#
LoadModule caucho_module /u01/apps/httpd-2.0.50/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoStatus yes
这里我们resin和apache整合完毕
注:第一次安装的httpd-2.2.0版本时mod_caucho.so编译没通过,要是不细心看的话会以为成功了。后来才有换的2.0.50版。才成功的。
测试:
[root@localhost apps]# ./resin-3.0.14/bin/httpd.sh start &
[root@localhost apps]# ./httpd-2.0.50/bin/apachectl start
浏览器输入:http://ip/index.html
http://ip/index.jsp //访问的是resin根目录文件。
都正常显示了服务器默认网页,说明安装成
QQ:36597649 EMAIL:redogs@sina.com
注:到这里已经很好的整合了apahce,jsp,php.对一般的用户来说已经够用了。
设置虚拟主机时注意,因为我是远程访问服务器,所以配置后的http://10.30.*.*/caucho-status 看到的结果:这里时ip地址,和虚拟主机的一样
其中httpd.conf中
LoadModule caucho_module modules/mod_caucho.so
ResinConfigServer 10.30.24.85 6802
SetHandler caucho-status
Resin.conf配置如下
如果这里安默认的localhost的话,将导致图片无法显示
七,proftpd安装
[root@localhost tools]# tar zxvf proftpd-1.2.10.tar.gz
[root@localhost proftpd-1.2.10]# cd proftpd-1.2.10
[root@localhost proftpd-1.2.10]# ./configure --prefix=/u01/apps/proftpd-1.2.10
[root@localhost proftpd-1.2.10]# make
[root@localhost proftpd-1.2.10]# make install
[root@localhost sbin]#cd /u01/apps/proftpd-1.2.10/sbin
[root@localhost sbin]# ./proftpd
注:这里如果你修改了proftpd.conf文件,则需要执行下面命令读入新的配置
[root@localhost sbin]# ./ftpshut now
[root@localhost sbin]# ./ftpshut -R now
./ftpshut: /etc/shutmsg removed
[root@localhost sbin]# ./proftpd
这里如果你没有移除./ftpshut: /etc/shutmsg removed,则所有用户不能登录。
后记:感觉配置一次服务真是辛苦呀。当然了安装完不知就万事大吉了,后来测试过程中发现很多问题,比如虽然都下载的是最新的安装包,但是带了很多新的问题。比如上面php的安装,还有后来我碰到了数据库乱码的问题,倒数据的时候发生了乱码,最后不得不换到4.0.*版本,解决了乱码的问题。还有设置虚拟主机的时候不能正常显示jsp的图片。总之这是个辛苦和细心的工作。
Mysql使用管理指南1, 帐号管理
登录数据库使用下面命令
shell> mysql --user=monty --password=guess db_name
shell> mysql -u monty -pguess db_name
上面两个命令是一样的。这里给数据库db_name 添加一个用户monty密码是guess。
注意:这里的-p和密码之间不能有空格。
shell> mysql --user=monty --password db_name
shell> mysql -u monty -p db_name
这两个命令也创建了同样的数据库用户,但是使用下面方法创建的用户登录数据库是需要用户输入密码。上面的方法存在着安全风险。
添加一个mysql用户,有两种方法:
a, 使用GRANT命令
b, 更新mysql grant数据表
下面使用grant创建用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
->IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
->
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
mysql> FLUSH PRIVILEGES;
删除用户
mysql> DELETE FROM mysql.user
-> WHERE User='user_name' and Host='host_name';
mysql> FLUSH PRIVILEGES;
下面使用数据库SQL 添加用户
shell> mysql -u root mysql
mysql> INSERT INTO user (Host,User,Password)
-> VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES;
给账户分配密码
mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');
使用下面命令可以更新用户密码
shell> mysqladmin -u user_name -h host_name password "newpwd"
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15588/showart_94440.html |
|