IT网络游客
今日天气
随笔 - 12, 文章 - 1, 评论 - 1, 引用 - 0
数据加载中……
Openbsd 3.8 + APACHE + MYSQL + PHP + mod_limitipco
欢迎大家转贴这个文章,但要保留下面的版权信息:
作者:llzqq
联系:
llzqq@126.com
来自:
www.chinaunix.net
本文旨在用OPENBSD自己提供的软件安装包来搭建服务器环境,当然你也可以下载原代码包编译安装,但这样就费时费力了。实际上OPENBSD给我们提供了大量的编译好的二进制安装包,利用这些二进制安装包我们可以快速部署我们需要的服务器环境,不仅省时还可以保障OPENBSD的安全性,还可以自动解决各个安装包之间的包依赖问题(用pkg_add来安装远程服务器上的软件包,包依赖问题会自动处理不需要认为干预,这个有点像通过PORT安装)。下面的文档在一个E文的文档基础上经过整理补充后形成的,那个E文档找不到了。
设立网络安装服务器的地址:
# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/
1. 配置APACHE服务器:
因为APACHE是系统默认安装的,这里就省去了安装过程,下面配置APACHE这样就可以开机运行HTTP了因为在/ETC/RC脚本中已经有了HTTPD服务的启动设置
# vi /etc/rc.conf
改:
httpd_flags=NO
为:
httpd_flags=""
对apache做一初步设置
# vi /var/www/conf/httpd.conf
ExtendedStatus On
ServerAdmin
llzqq@126.com
ServerName llzqq.3322.org
ServerTokens Prod
ServerSignature Off
Options Indexes FollowSymLinks 改为 Options FollowSymLinks
2.
安装mysql-server-4.0.24p1
:
# pkg_add -v mysql-server-4.0.24p1.tgz
# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
如果不想让其他机器连接MYSQL,可以通过下面的操作实现:
# vi /etc/my.cnf
bind-address = 127.0.0.1
启动MYSQL-SERVER服务器:
# /usr/local/bin/mysqld_safe &
设置ROOT的MYSQL密码:
# /usr/local/bin/mysqladmin -u root password mypass
对于chroot下的 mysql:
#mkdir /var/www/var
#chmod -R 1777(或者777) /var/www/var
#vi /etc/my.conf
mysql启动后会产生/var/www/var/run目录,还需要chmod -R 777 /var/www/var/run
自行建立
/var/www/var/run
[client]
socket = /var/www/var/run/mysql/mysql.sock
[mysqld]
socket = /var/www/var/run/mysql/mysql.sock
了方便启动和关闭MYSQL服务建立了下面的脚本:
# vi /etc/rc.d/mysqld.sh
========================================================
#!/bin/sh
# made by llzqq
# mail:openbsd@163.com
# mysql startup scripts
case "$1" in
start)
if [ -x /usr/local/bin/mysqld_safe ]; then
/usr/local/bin/mysqld_safe &
fi
;;
stop)
pkill mysqld &
rm -f /var/run/mysql/mysql.sock &
;;
*)
echo "$0 start | stop"
;;
esac
exit 0
========================================================
# chmod 555 /etc/rc.d/mysqld.sh
设置开机启动MYSQL
# vi /etc/rc.local
if [ -f /etc/my.cnf ]; then
/etc/rc.d/mysqld.sh start
fi
3. 安装配置PHP-4.4.1
# pkg_add -v php4-core-4.4.1p0.tgz
运行下面的命令使其生效
# cp /usr/local/share/examples/php4/php.ini-recommended /var/www/conf/php.ini
# /usr/local/sbin/phpxs -s
由于OPENBSD上的APACHE采用了CHROOT机制,要保证PHP正常工作就要建下面的目录PHP工作目录:
# mkdir /var/www/tmp
# chmod 1777 /var/www/tmp
下面选择安装几个PHP组件:
# pkg_add -v php4-gd-4.4.1p0-no_x11.tgz
# /usr/local/sbin/phpxs -a gd
# pkg_add -v php4-mysql-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a mysql
# pkg_add -v php4-ncurses-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a ncurses
# pkg_add -v php4-imap-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a imap
# pkg_add -v php4-curl-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a curl
# pkg_add -v php4-dbx-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a dbx
# pkg_add -v php4-ldap-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a ldap
# pkg_add -v php4-pdf-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a pdf
# pkg_add -v php4-snmp-4.4.1p0.tgz
# /usr/local/sbin/phpxs -a snmp
设置apache支持PHP:
# vi /var/www/conf/httpd.conf
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# vi /var/www/conf/php.ini
doc_root= "/htdocs"
register_globals = On
建立测试php页面
# vi /var/www/htdocs/test.php
<?php phpinfo(); ?>
测试一下:
# pkill httpd
# /usr/sbin/httpd
在浏览器中输入
http://IP/test.php
实验一下
4. 安装mod_limitipconn模块来限制单IP的并发连接数
# wget
http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
# tar xzf mod_limitipconn-0.04.tar.gz
# cd mod_limitipconn-0.04
# vi Makefile
APXS = /usr/sbin/apxs
# make
# make install
让APACHE支持这个模块:
# vi /var/www/conf/httpd.conf
<IfModule mod_limitipconn.c>
<Location />
MaxConnPerIP 5
</Location>
</IfModule>
到次整个安装过程结束。
附件部分:
我们为让APACHE支持SSL传输配置APACHE:
# vi /var/www/conf/httpd.conf
添加下面两行:
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
为了使APACHE启动时启用SSL,设置一下APACHE启动选项:
# vi /etc/rc.conf.local
改:
httpd_flags="" # or it could have httpd_flags=NO
为:
httpd_flags="-DSSL # or it could have httpd_flags=NO
手动启动和关闭APACHE这样做就可以了:
# apachectl startssl
# apachectl stop
下面是设置APACHE+SSL的过程:
1. 创建服务器KEY文件 (1024 bit) :
# /usr/sbin/openssl genrsa -out /etc/ssl/private/server.key 1024
2. 创建服务器CSR文件(certificate signing request)
# /usr/sbin/openssl req -new -key /etc/ssl/private/server.key -out /etc/ssl/private/server.csr
这里自己填写一些注册信息
3. 生成签名证书(365天有效证书):
# /usr/sbin/openssl x509 -req -days 365 -in /etc/ssl/private/server.csr -signkey /etc/ssl/private/server.key -out /etc/ssl/server.crt
4. 虚拟主机部分:
NameVirtualHost 192.168.10.1:*
<VirtualHost 192.168.10.1:443>
ServerAdmin
llzqq@126.com
DocumentRoot /var/www/llzqq
ServerName llzqq.home.com
ErrorLog logs/llzqq.home.com-error_log
CustomLog logs/llzqq.home.com-access_log common
SSLEngine on
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/ssl/virtualsite.com.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
<VirtualHost 192.168.10.1:80>
ServerAdmin
llzgg@126.com
DocumentRoot /var/www/llzgg
ServerName llzgg.home.com
ErrorLog logs/llzgg.home.com-error_log
CustomLog logs/llzgg.home.com-access_log common
</VirtualHost>
其他部分待续(现在没PC装OPENBSD了有些资料不好整理了)
posted on 2006-05-07 15:29
博网
阅读(193)
评论(0)
编辑
收藏
引用
所属分类:
OpenBSD
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © 博网
导航
IT博客
首页
新随笔
联系
聚合
管理
<
2006年5月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
(13)
FreeBSD(8)
(rss)
Linux
(rss)
OpenBSD(2)
(rss)
ORACLE
(rss)
SOLARIS
(rss)
SYBASE
(rss)
随笔(3)
(rss)
随笔档案
(12)
2007年10月 (1)
2006年9月 (1)
2006年5月 (9)
2006年4月 (1)
文章分类
(1)
FreeBSD
(rss)
OpenBSD
(rss)
Solaris
(rss)
网络技术(1)
(rss)
文章档案
(1)
2006年4月 (1)
Blog
网络游客
网络硬盘
搜索
最新评论
1. re: 志愿军讨饭那一刻我泪流满面(转贴)
汗颜!!!!
--linliang
阅读排行榜
1. 可以自动升级的AVG杀毒软件许可代码 (648)
2. FreeBSD系统编程(569)
3. 用freebsd做NAT和防火墙(505)
4. 使用SOCKS代理上网(449)
5. BSD下虚拟机qemu 入门详解(391)
评论排行榜
1. 志愿军讨饭那一刻我泪流满面(转贴)(1)
2. Blog上的一些小功能!(0)
3. BSD下虚拟机qemu 入门详解(0)
4. 可以自动升级的AVG杀毒软件许可代码 (0)
5. FreeBSD如何通过代理上网更新ZT(0)