有一点需要提醒读者的是,如果你的MySQL仅用于基于PHP的web服务器,或者说你的MYSQL数据库和WEB服务器在一台主机上,那么禁用TCP连接对安装MySQL来说是比较安全的。
具体做法是编辑 /etc/my.cnf 文件,将里面的内容
前面的注释符去掉变成这样:
然后保存退出。
八 . 在login.conf里增加相关项:
默认情况下,用户_mysql和mysqld进程运行的登录级别是"daemon",在一台非常繁忙的服务器上,将让用户_mysql和mysqld进程运行在自己的登录级别上很明智。
例如调整打开文件等,你必须将下列内容加入到/etc/login.conf文件内,以便登录时mysql有自己的登录级别,否则其无法运行。
代码: 全选
mysql:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
然后重建login.conf.db文件
代码: 全选
# [color=red]cap_mkdb /etc/login.conf[/color]
九 . 设置MySQL自动启动
在/etc/rc.local里加入如下内容:
代码: 全选
if [ -x /usr/local/bin/mysqld_safe ] ; then
su -c mysql root -c '/usr/local/bin/mysqld_safe >/dev/null 2>&1 &'
echo -n ' mysql'
fi
到这一步,我们重新启动一下系统,看看MySQL的设置是否正常.
重新启动主机后,我们输入命令:
代码: 全选
# [color=red]top[/color]
load averages: 0.17, 0.10, 0.09 08:01:49
21 processes: 20 idle, 1 on processor
CPU states: 0.0% user, 0.0% nice, 0.2% system, 0.0% interrupt, 99.8% idle
Memory: Real: 24M/213M act/tot Free: 1342M Swap: 0K/502M used/tot
PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND
31656 root 18 0 556K 440K sleep pause 0:00 0.05% ksh
[color=royalblue]19510 _mysql 2 0 41M 18M sleep poll 0:00 0.00% mysqld[/color]
17223 _pflogd 4 0 560K 312K sleep bpf 0:00 0.00% pflogd
............................................
大家看到了吧,这里面有一个mysqld,说明mysql已经运行了,为了方便拷贝屏幕内容以便给读者做解释,我是远程连接上的MySQl所在主机,
实际上如果你在本地启动时就可以看到启动信息里,有一行:
代码: 全选
[color=royalblue]mysqlstandard daemons:cron[/color]
这说明mysql已经启动了。
mysql启动后会自动在/var/run目录下生成一个mysql目录,属性如下:
代码: 全选
# [color=red]cd /var/run[/color]
# [color=red]ls -la[/color]
total 216
drwxr-xr-x 3 root wheel 512 Dec 20 00:55 .
drwxr-xr-x 24 root wheel 512 Dec 20 00:48 ..
-rw-r--r-- 1 root wheel 6 Dec 20 00:55 cron.pid
-rw-r--r-- 1 root wheel 57344 Dec 20 00:55 dev.db
-rw-r--r-- 1 root wheel 16364 Dec 20 00:55 dmesg.boot
-rw-r--r-- 1 root wheel 6 Dec 20 00:55 inetd.pid
-r--r--r-- 1 root wheel 8256 Dec 20 00:55 ld.so.hints
drwx--x--x 2 _mysql _mysql 512 Dec 20 00:55 mysql
-rw-r--r-- 1 root wheel 6 Dec 20 00:55 pflogd.pid
-rw------- 1 root wheel 70 Dec 20 00:55 sendmail.pid
-rw-r--r-- 1 root wheel 6 Dec 20 00:55 sshd.pid
-rw-r--r-- 1 root wheel 6 Dec 20 00:55 syslog.pid
-rw-rw-r-- 1 root utmp 6900 Dec 20 00:59 utmp
#
如果你的mysql没有启动,请仔细检查一下上面的步骤,看看有没有遗漏,如果有请不上,如果还不行试试这样:
先建立一个目录 /var/run/mysql/,并将其所属用户及组设置成_mysql,否则后面重新启动时MySQL无法启动:
代码: 全选
# [color=red]midir -p /var/run/mysql[/color]
# [color=red]chown -R _mysql:_mysql /var/run/mysql/[/color]
这个目录应该是mysql自动建立的,你如果没有这个目录,手动建立一个再试试。还有一点需要注意的是,看一下你的/tmp目录,它的属性应该是777,也即是像这样:
drwxrwxrwt 4 root wheel 512 Dec 19 17:58 tmp
如果你的文件权限不是这样,改改试试。
好了,现在我们测试一下mysql服务器:
代码: 全选
# [color=red]mysql -p[/color]
Enter password:[color=red]9971us[/color]
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.83-log OpenBSD port: mysql-server-5.0.83
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
登录成功输入命令,注意是以;结尾的。
建立一个数据库
好的,现在我们要为我们的phpbb3论坛建立一个的数据库,我们这里假设数据库的名字为phpbb3:
代码: 全选
mysql> [color=red]create database phpbb3;[/color]
Query OK, 1 row affected (0.01 sec)
如果要建立UTF-8编码的数据库:
代码: 全选
> [color=red]CREATE DATABASE `gobsdorg` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;[/color]
要让数据库字符集编码为UTF-8,需要修改/etc/my.cnf文件,必须有下列红色内容:
代码: 全选
[client]
[color=red]default-character-set=utf8[/color]
[mysqld]
[color=red]default-character-set=utf8[/color]
[color=red]init_connect='SET NAMES utf8'[/color]
添加数据库用户
我们现在再向该数据库添加一个全权用户suiyuan,密码是9971:
代码: 全选
mysql> [color=red]grant all on phpbb3.* to suiyuan@localhost identified by '9971';[/color]
Query OK, 0 rows affected (0.00 sec)
这里注意,论坛真正运行时并不需要全部的权限,安装你完成后读者请根据自己的情况,自行消减该用户权限。
退出mysql:
代码: 全选
mysql> [color=red]quit[/color]
Bye
#
十 . 安装php5-mysql
代码: 全选
# [color=red]export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.6/packages/i386/[/color]
# [color=red]pkg_add php5-mysql[/color]
libiconv-1.13: complete
gettext-0.17p0: complete
libxml-2.6.32p2: complete
php5-core-5.2.10: complete
php5-mysql-5.2.10: complete
--- php5-core-5.2.10 -------------------
To enable the php5 module please create a symbolic
link from /var/www/conf/modules.sample/php5.conf
to /var/www/conf/modules/php5.conf.
ln -s /var/www/conf/modules.sample/php5.conf \
/var/www/conf/modules
The recommended php configuration has been installed
to /var/www/conf/php.ini.
Don't forget that the default OpenBSD httpd is chrooted
into /var/www by default, so you may need to create support
directories such as /var/www/tmp for PHP to work correctly.
--- php5-mysql-5.2.10 -------------------
You can enable this module by creating a symbolic
link from /var/www/conf/php5.sample/mysql.ini to
/var/www/conf/php5/mysql.ini.
ln -fs /var/www/conf/php5.sample/mysql.ini \
/var/www/conf/php5/mysql.ini
#
并根据提示,创建下面的符号链接:
代码: 全选
# [color=red]ln -s /var/www/conf/modules.sample/php5.conf \ [/color]
[color=red]> /var/www/conf/modules[/color]
# [color=red]ln -fs /var/www/conf/php5.sample/mysql.ini \ [/color]
[color=red]> /var/www/conf/php5/mysql.ini[/color]
并建立一个 /var/www/tmp目录,并将其属性设置为777:
代码: 全选
# [color=red]mkdir /var/www/tmp[/color]
# [color=red]chmod 777 /var/www/tmp[/color]
十一 . 设置apache
OpenBSD系统自带了修补过的apache1.3,所以我们只需在/etc/rc.conf.local里加上如下内容,系统每次启动时就可以自动启动apache了:
如果你需要ssl连接,请自行参照用户手册,这里就不再展开讨论了。
修改 /var/www/conf/httpd.conf 文件中的下列内容:
将原内容:
代码: 全选
DirectoryIndex index.html
修改为:
代码: 全选
[color=red]DirectoryIndex index.php[/color]
并删除或改名index.html文件;
如果两个文件全需要,则修改为:
代码: 全选
[color=red]DirectoryIndex index.php index.html[/color]
十二 . 让MySQL运行在chroot环境内
因为OpenBSD自带的apcahe是chroot在 /var/www 目录内的,所以我们必须将MySQL运行所需的部件设置在这个目录下。根据FAQ上的说明:
代码: 全选
# [color=red]mkdir -p /var/www/var/run/mysql[/color]
然后授权:
代码: 全选
# [color=red]chown -R _mysql:_mysql /var/www/var/run/mysql/[/color]
因为运行环境变化了,还需要修改一下默认的mysql配置文件 /etc/my.cnf,把下面socket的地址更换为:/var/www/var/run/mysql/
原先的内容:
代码: 全选
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/run/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/run/mysql/mysql.sock
更换后的内容:
代码: 全选
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = [color=red]/var/www[/color]/var/run/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = [color=red]/var/www[/color]/var/run/mysql/mysql.sock
十三 . 安装phpbb中文版
我们先将原htdocs目录改名为htdocs.old,读者也可以不改名,保留原来这个目录需要时而直接修改原html文件:
代码: 全选
# [color=red]cd /var/www/[/color]
# [color=red]mv htdocs htdocs.old[/color]
安装phpbb:
读者可自行到
http://www.phpbb.com下载最新版的phpbb,为了读者方便我这里也提供了一个中文的3.06版本,这个版本是我从
www.phpbbchina.com下载与官方模板拼合的,里面已经设置好了中文环境,模板采用prosilver special edition,很清爽的模板。下面是我提供的中文phpbb3.06版下载地址:
prosilver special edition中文版下载地址
你只需将其上传到/var/www目录下,然后再运行命令:
代码: 全选
# [color=red]cd /var/www/[/color]
# [color=red]tar zxvf htdocs.tar.gz[/color]
这会重新生成一个htdocs目录。
然后将站点 /var/www/htdocs/ 目录内的以下目录或文件的权限设置为777
/cache
/files
/store
config.php
images/avatars/upload/
不这样设置phpbb安装过程无法继续。
代码: 全选
# [color=red]cd /var/www/htdocs[/color]
# [color=red]chmod 777 cache files store config.php images/avatars/upload/[/color]
到这里我们重新启动一下web服务器所在的计算机,比便让apcahe和mysql载入新配置。
phpbb的安装很方便,除了下面删除install目录的步骤,你完全可以在客户端的浏览器中完成。
重新启动后,我们再在客户端的浏览器上输入你的web服务器地址,然后会出现如下画面:
在右上角的"Select language "旁边的下拉菜单中选择简体中文,然后点击它右边的"Change"按钮,你就会看见如下的画面: