刘伟霞 發表於 2008-9-8 18:49:16

OPENBSD-3.8上快速安装和配置apache+mysql+php+ssl

<p>本文旨在用OPENBSD自己提供的软件<a target="_blank" href="#" class="UBBWordLink">安装</a>包来搭建<a target="_blank" href="#" class="UBBWordLink">服务</a>器环境,当然你也可以下载原代码包编译<a target="_blank" href="#" class="UBBWordLink">安装</a>,但这样就费时费力了。实际上OPENBSD给我们提供了大量的编译好的二进制<a target="_blank" href="#" class="UBBWordLink">安装</a>包,利用这些二进制<a target="_blank" href="#" class="UBBWordLink">安装</a>包我们可以快速部署我们需要的<a target="_blank" href="#" class="UBBWordLink">服务</a>器环境,不仅省时还可以保障OPENBSD的安全性,还可以自动<a target="_blank" href="#" class="UBBWordLink">解决</a>各个<a target="_blank" href="#" class="UBBWordLink">安装</a>包之间的包依赖问题(用pkg_add来<a target="_blank" href="#" class="UBBWordLink">安装</a>远程<a target="_blank" href="#" class="UBBWordLink">服务</a>器上的软件包,包依赖问题会自动处理不需要认为干预,这个有点像通过PORT安装)。下面的文档在一个E文的文档基础上经过整理补充后形成的,那个E文档找不到了。 <br />
<br />
设立<a target="_blank" href="#" class="UBBWordLink">网络</a><a target="_blank" href="#" class="UBBWordLink">安装</a><a target="_blank" href="#" class="UBBWordLink">服务</a>器的地址: <br />
<br />
#&nbsp;export&nbsp;PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/ <br />
<br />
1.&nbsp;配置APACHE服务器: <br />
<br />
因为APACHE是<a target="_blank" href="#" class="UBBWordLink">系统</a>默认<a target="_blank" href="#" class="UBBWordLink">安装</a>的,这里就省去了<a target="_blank" href="#" class="UBBWordLink">安装</a>过程,下面配置APACHE这样就可以开机运行HTTP了因为在/ETC/RC脚本中已经有了HTTPD服务的启动<a target="_blank" href="#" class="UBBWordLink">设置</a> <br />
<br />
#&nbsp;vi&nbsp;/etc/rc.conf <br />
改: <br />
httpd_flags=NO <br />
为: <br />
httpd_flags=&quot;&quot; <br />
<br />
对apache做一初步<a target="_blank" href="#" class="UBBWordLink">设置</a> <br />
#&nbsp;vi&nbsp;/var/www/conf/httpd.conf <br />
<br />
ExtendedStatus&nbsp;On <br />
ServerAdmin&nbsp;llzqq@126.com <br />
ServerName&nbsp;llzqq.3322.org <br />
ServerTokens&nbsp;Prod <br />
ServerSignature&nbsp;Off <br />
Options&nbsp;Indexes&nbsp;FollowSymLinks&nbsp;改为&nbsp;Options&nbsp;FollowSymLinks <br />
<br />
2.&nbsp;<a target="_blank" href="#" class="UBBWordLink">安装</a>mysql-server-4.0.24p1: <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;mysql-server-4.0.24p1.tgz <br />
#&nbsp;cp&nbsp;/usr/local/share/mysql/my-medium.cnf&nbsp;/etc/my.cnf <br />
<br />
如果不想让其他机器连接MYSQL,可以通过下面的<a target="_blank" href="#" class="UBBWordLink">操作</a>实现: <br />
<br />
#&nbsp;vi&nbsp;/etc/my.cnf <br />
<br />
bind-address&nbsp;=&nbsp;127.0.0.1 <br />
<br />
启动MYSQL-SERVER服务器: <br />
<br />
#&nbsp;/usr/local/bin/mysqld_safe&nbsp;& <br />
<br />
<a target="_blank" href="#" class="UBBWordLink">设置</a>ROOT的MYSQL密码: <br />
<br />
#&nbsp;/usr/local/bin/mysqladmin&nbsp;-u&nbsp;root&nbsp;password&nbsp;mypass <br />
<br />
为了方便启动和关闭MYSQL服务建立了下面的脚本: <br />
<br />
#&nbsp;vi&nbsp;/etc/rc.d/mysqld.sh <br />
======================================================== <br />
#!/bin/sh <br />
#&nbsp;made&nbsp;by&nbsp;llzqq <br />
#&nbsp;mail:openbsd@163.com <br />
#&nbsp;mysql&nbsp;startup&nbsp;scripts <br />
case&nbsp;&quot;$1&quot;&nbsp;in&nbsp; <br />
start) <br />
if&nbsp;[&nbsp;-x&nbsp;/usr/local/bin/mysqld_safe&nbsp;];&nbsp;then <br />
/usr/local/bin/mysqld_safe&nbsp;& <br />
fi <br />
;; <br />
stop) <br />
pkill&nbsp;mysqld&nbsp;& <br />
rm&nbsp;-f&nbsp;/var/run/mysql/mysql.sock&nbsp;& <br />
<br />
;; <br />
*) <br />
echo&nbsp;&quot;$0&nbsp;start&nbsp;|&nbsp;stop&quot; <br />
;; <br />
esac <br />
exit&nbsp;0 <br />
======================================================== <br />
<br />
#&nbsp;chmod&nbsp;555&nbsp;/etc/rc.d/mysqld.sh <br />
<br />
<a target="_blank" href="#" class="UBBWordLink">设置</a>开机启动MYSQL <br />
<br />
#&nbsp;vi&nbsp;/etc/rc.local <br />
<br />
if&nbsp;[&nbsp;-f&nbsp;/etc/my.cnf&nbsp;];&nbsp;then <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/etc/rc.d/mysqld.sh&nbsp;start <br />
fi <br />
<br />
3.&nbsp;<a target="_blank" href="#" class="UBBWordLink">安装</a>配置PHP-4.4.1 <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-core-4.4.1p0.tgz <br />
<br />
运行下面的命令使其生效 <br />
#&nbsp;cp&nbsp;/usr/local/share/examples/php4/php.ini-recommended&nbsp;/var/www/conf/php.ini <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-s <br />
<br />
由于OPENBSD上的APACHE采用了CHROOT机制,要保证PHP正常工作就要建下面的目录PHP工作目录: <br />
<br />
#&nbsp;mkdir&nbsp;/var/www/tmp <br />
#&nbsp;chmod&nbsp;1777&nbsp;/var/www/tmp <br />
<br />
下面选择<a target="_blank" href="#" class="UBBWordLink">安装</a>几个PHP组件: <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-gd-4.4.1p0-no_x11.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;gd <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-mysql-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;mysql <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-ncurses-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;ncurses <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-imap-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;imap <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-curl-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;curl <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-dbx-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;dbx <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-ldap-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;ldap <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-pdf-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;pdf <br />
<br />
#&nbsp;pkg_add&nbsp;-v&nbsp;php4-snmp-4.4.1p0.tgz <br />
#&nbsp;/usr/local/sbin/phpxs&nbsp;-a&nbsp;snmp <br />
<br />
<a target="_blank" href="#" class="UBBWordLink">设置</a>apache支持PHP: <br />
<br />
#&nbsp;vi&nbsp;/var/www/conf/httpd.conf <br />
<br />
DirectoryIndex&nbsp;index.html&nbsp;index.php <br />
AddType&nbsp;application/x-httpd-php&nbsp;.php <br />
AddType&nbsp;application/x-httpd-php-source&nbsp;.phps <br />
<br />
#&nbsp;vi&nbsp;/var/www/conf/php.ini <br />
<br />
doc_root=&nbsp;&quot;/htdocs&quot; <br />
register_globals&nbsp;=&nbsp;On <br />
<br />
建立测试php页面 <br />
<br />
#&nbsp;vi&nbsp;/var/www/htdocs/test.php&nbsp; <br />
<br />
&lt;?php&nbsp;phpinfo();&nbsp;?&gt; <br />
<br />
测试一下: <br />
<br />
#&nbsp;pkill&nbsp;httpd <br />
#&nbsp;/usr/sbin/httpd <br />
<br />
在浏览器中输入http://IP/test.php实验一下 <br />
<br />
<br />
4.&nbsp;<a target="_blank" href="#" class="UBBWordLink">安装</a>mod_limitipconn模块来限制单IP的并发连接数 <br />
<br />
#&nbsp;wget&nbsp;http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz <br />
#&nbsp;tar&nbsp;xzf&nbsp;mod_limitipconn-0.04.tar.gz <br />
#&nbsp;cd&nbsp;mod_limitipconn-0.04 <br />
#&nbsp;vi&nbsp;Makefile <br />
&nbsp; <br />
APXS&nbsp;=&nbsp;/usr/sbin/apxs <br />
<br />
#&nbsp;make <br />
#&nbsp;make&nbsp;install <br />
<br />
让APACHE支持这个模块: <br />
#&nbsp;vi&nbsp;/var/www/conf/httpd.conf <br />
<br />
&lt;IfModule&nbsp;mod_limitipconn.c&gt;&nbsp; <br />
&lt;Location&nbsp;/&gt; <br />
MaxConnPerIP&nbsp;5 <br />
&lt;/Location&gt;&nbsp; <br />
&lt;/IfModule&gt; <br />
<br />
<br />
到次整个<a target="_blank" href="#" class="UBBWordLink">安装</a>过程结束。 <br />
<br />
附件部分: <br />
<br />
我们为让APACHE支持SSL传输配置APACHE: <br />
<br />
#&nbsp;vi&nbsp;/var/www/conf/httpd.conf <br />
添加下面两行: <br />
SSLCertificateFile&nbsp;&nbsp;&nbsp;&nbsp;/etc/ssl/server.crt <br />
SSLCertificateKeyFile&nbsp;/etc/ssl/private/server.key <br />
<br />
为了使APACHE启动时启用SSL,<a target="_blank" href="#" class="UBBWordLink">设置</a>一下APACHE启动选项: <br />
<br />
#&nbsp;vi&nbsp;/etc/rc.conf.local <br />
改: <br />
httpd_flags=&quot;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;or&nbsp;it&nbsp;could&nbsp;have&nbsp;httpd_flags=NO <br />
为: <br />
httpd_flags=&quot;-DSSL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;or&nbsp;it&nbsp;could&nbsp;have&nbsp;httpd_flags=NO <br />
<br />
手动启动和关闭APACHE这样做就可以了: <br />
<br />
#&nbsp;apachectl&nbsp;startssl <br />
#&nbsp;apachectl&nbsp;stop <br />
<br />
下面是<a target="_blank" href="#" class="UBBWordLink">设置</a>APACHE+SSL的过程: <br />
<br />
1.&nbsp;创建<a target="_blank" href="#" class="UBBWordLink">服务</a>器KEY文件&nbsp;(1024&nbsp;bit)&nbsp;:&nbsp; <br />
<br />
#&nbsp;/usr/sbin/openssl&nbsp;genrsa&nbsp;-out&nbsp;/etc/ssl/private/server.key&nbsp;1024&nbsp;&nbsp; <br />
<br />
<br />
2.&nbsp;创建<a target="_blank" href="#" class="UBBWordLink">服务</a>器CSR文件(certificate&nbsp;signing&nbsp;request)&nbsp; <br />
<br />
#&nbsp;/usr/sbin/openssl&nbsp;req&nbsp;-new&nbsp;-key&nbsp;/etc/ssl/private/server.key&nbsp;-out&nbsp;/etc/ssl/private/server.csr&nbsp;&nbsp; <br />
<br />
这里自己填写一些注册信息 <br />
<br />
3.&nbsp;生成签名证书(365天有效证书): <br />
<br />
#&nbsp;/usr/sbin/openssl&nbsp;x509&nbsp;-req&nbsp;-days&nbsp;365&nbsp;-in&nbsp;/etc/ssl/private/server.csr&nbsp;-signkey&nbsp;/etc/ssl/private/server.key&nbsp;-out&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/etc/ssl/server.crt&nbsp; <br />
<br />
4.&nbsp;虚拟主机部分: <br />
<br />
<br />
NameVirtualHost&nbsp;192.168.10.1:* <br />
<br />
&lt;VirtualHost&nbsp;192.168.10.1:443&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;ServerAdmin&nbsp;llzqq@126.com <br />
&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot&nbsp;/var/www/llzqq <br />
&nbsp;&nbsp;&nbsp;&nbsp;ServerName&nbsp;llzqq.home.com <br />
&nbsp;&nbsp;&nbsp;&nbsp;ErrorLog&nbsp;logs/llzqq.home.com-error_log <br />
&nbsp;&nbsp;&nbsp;&nbsp;CustomLog&nbsp;logs/llzqq.home.com-access_log&nbsp;common <br />
&nbsp;&nbsp;&nbsp;&nbsp;SSLEngine&nbsp;on <br />
&nbsp;&nbsp;&nbsp;&nbsp;SSLCipherSuite&nbsp;ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP <br />
&nbsp;&nbsp;&nbsp;&nbsp;SSLCertificateFile&nbsp;/etc/ssl/virtualsite.com.crt <br />
&nbsp;&nbsp;&nbsp;&nbsp;SSLCertificateKeyFile&nbsp;/etc/ssl/private/server.key <br />
<br />
&lt;/VirtualHost&gt; <br />
<br />
<br />
&lt;VirtualHost&nbsp;192.168.10.1:80&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;ServerAdmin&nbsp;llzgg@126.com <br />
&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot&nbsp;/var/www/llzgg <br />
&nbsp;&nbsp;&nbsp;&nbsp;ServerName&nbsp;llzgg.home.com <br />
&nbsp;&nbsp;&nbsp;&nbsp;ErrorLog&nbsp;logs/llzgg.home.com-error_log <br />
&nbsp;&nbsp;&nbsp;&nbsp;CustomLog&nbsp;logs/llzgg.home.com-access_log&nbsp;common <br />
<br />
&lt;/VirtualHost&gt; <br />
&nbsp;</p>
頁: [1]
查看完整版本: OPENBSD-3.8上快速安装和配置apache+mysql+php+ssl