首页 > 操作系统 >OpenBSD 3.8安装配置Apache MySQL PHP mod_limitipco

OpenBSD 3.8安装配置Apache MySQL PHP mod_limitipco

来源:互联网 2026-07-31 12:11:20

通过 OpenBSD 自带的二进制包来搭建服务器环境,是最省心也最安全的方式。当然你也可以选择从源码编译,但那样费时费力,而且容易遇到各种依赖问题。实际上,OpenBSD 提供了大量编译好的二进制安装包——直接用 pkg_add 从远程服务器安装,包依赖会自动处理,完全不需要手动干预,这一点和通过

通过 OpenBSD 自带的二进制包来搭建服务器环境,是最省心也最安全的方式。当然你也可以选择从源码编译,但那样费时费力,而且容易遇到各种依赖问题。实际上,OpenBSD 提供了大量编译好的二进制安装包——直接用 pkg_add 从远程服务器安装,包依赖会自动处理,完全不需要手动干预,这一点和通过 Ports 安装很像。下面的配置步骤是在一份英文文档的基础上整理补充的,原文已经找不到了,但核心方法经过多次验证,可以直接拿来用。

首先,设置网络安装服务器的地址(这里用的是官方源):

长期稳定更新的攒劲资源: >>>点此立即查看<<<

# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/

1. 配置 Apache 服务器

Apache 是系统默认安装的,这一步可以跳过安装过程。下面要做的是配置 Apache,让它能够随系统启动而自动运行——因为 /etc/rc 脚本里已经预留了 httpd 服务的启动设置。

# vi /etc/rc.conf

修改 httpd_flags=NO 为:

httpd_flags=""

然后对 Apache 做一些初步设置:

# vi /var/www/conf/httpd.conf

Options Indexes FollowSymLinks 改为 Options FollowSymLinks(关闭目录列表),同时根据需要设置 ExtendedStatus OnServerTokens ProdServerSignature Off 等安全相关参数。注意 ServerAdminServerName 请根据实际情况填写。

2. 安装 mysql-server

# 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 服务器:

# /usr/local/bin/mysqld_safe &

设置 root 的 MySQL 密码:

# /usr/local/bin/mysqladmin -u-root password mypass

对于 chroot 环境下的 MySQL,需要额外创建几个目录:

# mkdir /var/www/var
# chmod -R 1777 /var/www/var
# vi /etc/my.conf

MySQL 启动后会自动生成 /var/www/var/run 目录,如果没有生成则手动创建,并设置权限:

# chmod -R 777 /var/www/var/run

/etc/my.conf 中配置 socket 路径:

[client]
socket = /var/www/var/run/mysql/mysql.sock

[mysqld]
socket = /var/www/var/run/mysql/mysql.sock
open-files-limit = 8192
open-files = 1000

为了方便启动和关闭 MySQL 服务,可以建立一个脚本:

# vi /etc/rc.d/mysqld.sh

内容如下:

#!/bin/sh
# 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

# 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 创建工作目录:

# 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

编辑 /var/www/conf/php.ini,设置 doc_root = "/htdocs",并根据需要开启 register_globals = On(注意安全性)。

建立测试 PHP 页面:

# vi /var/www/htdocs/test.php

重启 Apache:

# 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 支持这个模块,在 /var/www/conf/httpd.conf 中添加:



MaxConnPerIP 5


到此,基本环境搭建完成。


附件:配置 Apache 支持 SSL

为了让 Apache 支持 SSL 传输,首先在 /var/www/conf/httpd.conf 中添加:

SSLCertificateFile    /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

修改 Apache 启动选项,启用 SSL:

# vi /etc/rc.conf.local

httpd_flags="" 改为:

httpd_flags="-DSSL"

手动启动和关闭 Apache 可以这样做:

# apachectl startssl
# apachectl stop

创建 SSL 证书的步骤:

  1. 创建服务器 KEY 文件(1024 位):
  2. # /usr/sbin/openssl genrsa -out /etc/ssl/private/server.key 1024
    
  3. 创建服务器 CSR 文件:
  4. # /usr/sbin/openssl req -new -key /etc/ssl/private/server.key -out /etc/ssl/private/server.csr
    

    这里需要填写一些注册信息(如国家、组织等)。

  5. 生成自签名证书(365 天有效):
  6. # /usr/sbin/openssl x509 -req -days 365 -in /etc/ssl/private/server.csr -signkey /etc/ssl/private/server.key -out /etc/ssl/server.crt
    

虚拟主机配置示例(同时支持 SSL 和普通 HTTP):

NameVirtualHost 192.168.10.1:*


    ServerAdmin webmaster@example.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



    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/llzgg
    ServerName llzgg.home.com
    ErrorLog logs/llzgg.home.com-error_log
    CustomLog logs/llzgg.home.com-access_log common

其他更复杂的配置(如负载均衡、多站点等)待后续补充——最近手边没有 OpenBSD 机器,有些细节没办法实地验证,但以上步骤在 3.8 版本上反复测试过,可以放心使用。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。