- 论坛徽章:
- 0
|
安装Mysql server- # pkg_add mysql-server
- mysql-server-5.1.48:mysql-client-5.1.48: ok
- mysql-server-5.1.48:p5-Net-Daemon-0.43: ok
- mysql-server-5.1.48:p5-PlRPC-0.2018p0: ok
- mysql-server-5.1.48:p5-DBI-1.609: ok
- mysql-server-5.1.48:p5-DBD-mysql-4.014: ok
- mysql-server-5.1.48: ok
- --- +mysql-server-5.1.48 -------------------
- You can find detailed instructions on how to install a database
- in /usr/local/share/doc/mysql/README.OpenBSD.
- #
复制代码 创建默认数据库- # /usr/local/bin/mysql_install_db
- Installing MySQL system tables...
- 101109 18:20:36 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
- OK
- Filling help tables...
- 101109 18:20:36 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
- OK
- PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
- To do so, start the server, then issue the following commands:
- /usr/local/bin/mysqladmin -u root password 'new-password'
- /usr/local/bin/mysqladmin -u root -h 123.my.domain password 'new-password'
- Alternatively you can run:
- /usr/local/bin/mysql_secure_installation
- which will also give you the option of removing the test
- databases and anonymous user created by default. This is
- strongly recommended for production servers.
- See the manual for more instructions.
- Please report any problems with the /usr/local/bin/mysqlbug script!
- #
复制代码 运行Mysql- # mysqld_safe &
- [1] 6869
- # 101109 18:44:31 mysqld_safe Logging to '/var/mysql/123.my.domain.err'.
- 101109 18:44:31 mysqld_safe Starting mysqld daemon with databases from /var/mysql
- #
复制代码 设定本地mysql的root密码- # mysqladmin -u root password 'jiarun.org'
复制代码 这里还需要大致地说一下,在/usr/local/share/mysql/目录里包含了一系列MySQL的简单的配置文件:
my-small.cnf 内存小于64M仅运行MySQL服务器的主机使用这个配置文件。
my-medium.cnf 内存在32-64M之间,主要运行MySQL服务,或128M以上,MySQL和web服务器一起运行时使用这个配置文件。
my-large.cnf 内存是512M的重要运行MySQL使用这个配置文件。
my-innodb-heavy-4G.cnf 内存是1-2G,主要运行MySQL使用这个配置文件。
my-huge.cnf 内存4G以上,主要运行MySQL的主机使用这个配置文件。
读者请根据自己的情况用上述文件中的一个替换 /etc/my.cnf文件,如果你有特殊的需要,例如要修改socket或端口请自行调整。
我的主机是是512M,用my-media.cnf,所以使用下面的命令替换原来的My.cnf文件:- # cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
复制代码 要让数据库的字符集编码默认是UTF-8,还要修改一下/etc/my.cnf文件,必须包含如下的内容:- [client]
- default-character-set=utf8
- [mysqld]
- default-character-set=utf8
- init_connect='SET NAMES utf8'
复制代码 此外基本设置里的这个实在是太小了,如果你要使用phpMyAdmin上传或下载数据库的话,需要按照自己的要求进行调整,我是设置为100M,我觉得100M足以了,再大的话使用phpMyadmin就不太安全了,数据库可能会出错,建议直接使用Mysql命令备份或还原数据库。
有一点需要提醒读者的是,如果你的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文件- # cap_mkdb /etc/login.conf
复制代码 设置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
复制代码 重新启动系统后:- # top
- load averages: 0.31, 0.15, 0.06 123.my.domain 21:03:45
- 22 processes: 21 idle, 1 on processor
- CPU states: 0.0% user, 0.0% nice, 0.2% system, 0.2% interrupt, 99.7% idle
- Memory: Real: 52M/88M act/tot Free: 1161M Swap: 0K/2047M used/tot
- PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND
- 12898 _mysql 2 0 299M 45M sleep poll 0:01 0.00% mysqld
- 28298 root 2 0 3288K 2496K sleep select 0:00 0.00% sshd
- 13511 root 18 0 636K 468K idle pause 0:00 0.00% sh
- 13835 root 28 0 532K 1412K onproc - 0:00 0.00% top
- 14459 _syslogd 2 0 596K 684K idle poll 0:00 0.00% syslogd
- 3407 root 18 0 580K 440K sleep pause 0:00 0.00% ksh
- 22877 root 2 0 1108K 1496K sleep select 0:00 0.00% sendmail
- 12372 root 2 0 420K 716K idle select 0:00 0.00% inetd
- 8273 root 3 0 224K 772K idle ttyin 0:00 0.00% getty
- 17305 _pflogd 4 0 696K 316K sleep bpf 0:00 0.00% pflogd
- 1 root 10 0 524K 312K idle wait 0:00 0.00% init
- 11846 root 3 0 416K 772K idle ttyin 0:00 0.00% getty
- 21981 root 3 0 316K 768K idle ttyin 0:00 0.00% getty
- 31884 root 3 0 444K 776K idle ttyin 0:00 0.00% getty
- 15492 root 3 0 472K 772K idle ttyin 0:00 0.00% getty
- 18076 root 2 0 576K 664K idle netio 0:00 0.00% syslogd
- 12144 root 2 0 452K 808K idle select 0:00 0.00% cron
- 7969 root 2 0 632K 408K idle netio 0:00 0.00% pflogd
- 1415 root 2 0 788K 1184K idle select 0:00 0.00% sshd
- 7666 _dhcp 2 0 608K 224K idle poll 0:00 0.00% dhclient
- 15612 _dhcp 2 0 440K 972K idle poll 0:00 0.00% dhcpd
- 17396 root 2 0 560K 308K idle poll 0:00 0.00% dhclient
复制代码 测试Mysql服务器:- # mysql -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 1
- Server version: 5.1.48-log OpenBSD port: mysql-server-5.1.48
- Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
- This software comes with ABSOLUTELY NO WARRANTY. This is free software,
- and you are welcome to modify and redistribute it under the GPL v2 license
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql>
复制代码 建立一个UTF-8编码的数据库:- CREATE DATABASE `jiarunorg` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
复制代码 分配用户leo具有数据库jiarunorg的所有权限,操作是本地,密码为jiarun:- mysql> grant all on jiarunorg.* to leo@localhost identified by 'jiarun';
- Query OK, 0 rows affected (0.00 sec)
复制代码 这里注意,论坛真正运行时并不需要全部的权限,安装你完成后读者请根据自己的情况,自行消减该用户权限。
退出mysql:安装php5-mysql
注意:别忘了具体提示做ln- # export PKG_PATH=/linghua/packages/i386/
- # pkg_add php5-mysql
- php5-mysql-5.2.13p0:libiconv-1.13p1: ok
- php5-mysql-5.2.13p0:gettext-0.18.1: ok
- php5-mysql-5.2.13p0:libxml-2.7.6: ok
- php5-mysql-5.2.13p0:php5-core-5.2.13p0: ok
- php5-mysql-5.2.13p0: ok
- --- +php5-core-5.2.13p0 -------------------
- 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.
- --- +php5-mysql-5.2.13p0 -------------------
- 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
- # ln -s /var/www/conf/modules.sample/php5.conf \
- > /var/www/conf/modules
- # ln -fs /var/www/conf/php5.sample/mysql.ini \
- > /var/www/conf/php5/mysql.ini
- #
复制代码 原来在 4.7 里的这步似乎可以不做了。
解除php限制,编译 /var/www/conf/php.ini
找到:- ; Maximum size of POST data that PHP will accept.
- post_max_size = 8M
复制代码 这会限制每个帖子的大小,放大一些吧,我是改为50M。
找到:- ; Maximum allowed size for uploaded files.
- upload_max_filesize = 2M
复制代码 这会限制上传文件大小,请自己根据需要修改
找到:- ; Maximum number of files that can be uploaded via a single request
- max_file_uploads = 20
复制代码 一次最多上传的文件数,请自行修改。
还有两个我是一般要修改的:- short_open_tag = On
- display_errors = On
复制代码 安装php5的其他模块:- # pkg_add php5-core php5-mysql php5-mysqli php5-mbstring php5-soap php5-gd php5-curl php5-bz2 php5-mcrypt php5-mhash php5-xsl
- php5-mysqli-5.2.13p0: ok
- php5-mbstring-5.2.13p0: ok
- php5-soap-5.2.13p0: ok
- Ambiguous: php5-gd could be php5-gd-5.2.13p0 php5-gd-5.2.13p0-no_x11
- php5-curl-5.2.13p0:libidn-1.11: ok
- php5-curl-5.2.13p0:curl-7.20.0: ok
- php5-curl-5.2.13p0: ok
- php5-bz2-5.2.13p0:bzip2-1.0.5: ok
- php5-bz2-5.2.13p0: ok
- php5-mcrypt-5.2.13p0:libltdl-1.5.26p0: ok
- php5-mcrypt-5.2.13p0:libmcrypt-2.5.8p1: ok
- php5-mcrypt-5.2.13p0: ok
- php5-mhash-5.2.13p0:mhash-0.9.9.9: ok
- php5-mhash-5.2.13p0: ok
- php5-xsl-5.2.13p0:libgpg-error-1.9: ok
- php5-xsl-5.2.13p0:libgcrypt-1.4.6: ok
- php5-xsl-5.2.13p0:sqlite3-3.6.23p0: ok
- php5-xsl-5.2.13p0:python-2.5.4p5: ok
- php5-xsl-5.2.13p0:libxslt-1.1.26: ok
- php5-xsl-5.2.13p0: ok
- --- +php5-bz2-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/bz2.ini to
- /var/www/conf/php5/bz2.ini.
- ln -fs /var/www/conf/php5.sample/bz2.ini \
- /var/www/conf/php5/bz2.ini
- --- +php5-curl-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/curl.ini to
- /var/www/conf/php5/curl.ini.
- ln -fs /var/www/conf/php5.sample/curl.ini \
- /var/www/conf/php5/curl.ini
- --- +php5-mbstring-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/mbstring.ini to
- /var/www/conf/php5/mbstring.ini.
- ln -fs /var/www/conf/php5.sample/mbstring.ini \
- /var/www/conf/php5/mbstring.ini
- --- +php5-mcrypt-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/mcrypt.ini to
- /var/www/conf/php5/mcrypt.ini.
- ln -fs /var/www/conf/php5.sample/mcrypt.ini \
- /var/www/conf/php5/mcrypt.ini
- --- +php5-mhash-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/mhash.ini to
- /var/www/conf/php5/mhash.ini.
- ln -fs /var/www/conf/php5.sample/mhash.ini \
- /var/www/conf/php5/mhash.ini
- --- +php5-mysqli-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/mysqli.ini to
- /var/www/conf/php5/mysqli.ini.
- ln -fs /var/www/conf/php5.sample/mysqli.ini \
- /var/www/conf/php5/mysqli.ini
- --- +php5-soap-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/soap.ini to
- /var/www/conf/php5/soap.ini.
- ln -fs /var/www/conf/php5.sample/soap.ini \
- /var/www/conf/php5/soap.ini
- --- +php5-xsl-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/xsl.ini to
- /var/www/conf/php5/xsl.ini.
- ln -fs /var/www/conf/php5.sample/xsl.ini \
- /var/www/conf/php5/xsl.ini
- --- +python-2.5.4p5 -------------------
- If you want to use this package as your default system python, as root
- create symbolic links like so (overwriting any previous default):
- ln -sf /usr/local/bin/python2.5 /usr/local/bin/python
- ln -sf /usr/local/bin/python2.5-config /usr/local/bin/python-config
- ln -sf /usr/local/bin/pydoc2.5 /usr/local/bin/pydoc
- #
复制代码 安装mod_zip- # pkg_add mod_gzip
- mod_gzip-1.3.26.1ap4: ok
- --- +mod_gzip-1.3.26.1ap4 -------------------
- To finish the install of mod_gzip-1.3.26.1ap4, you need
- to enable the module using the following command
- /usr/local/sbin/mod_gzip-enable
- Also, copy the following file into your Apache config:
- /usr/local/share/examples/mod_gzip/mod_gzip.conf.sample
- The manual is found at /usr/local/share/doc/mod_gzip
- If you already have Apache running on your machine,
- you should not use "apachectl restart" - instead,
- you should fully stop and then start the server.
- #
复制代码 安装phpMyAdmin- # pkg_add phpMyAdmin
- phpMyAdmin-3.3.4:png-1.2.44: ok
- phpMyAdmin-3.3.4:t1lib-5.1.0p2: ok
- phpMyAdmin-3.3.4:jpeg-8b: ok
- phpMyAdmin-3.3.4:php5-gd-5.2.13p0: ok
- phpMyAdmin-3.3.4: ok
- --- +php5-gd-5.2.13p0 -------------------
- You can enable this module by creating a symbolic
- link from /var/www/conf/php5.sample/gd.ini to
- /var/www/conf/php5/gd.ini.
- ln -fs /var/www/conf/php5.sample/gd.ini \
- /var/www/conf/php5/gd.ini
- --- +phpMyAdmin-3.3.4 -------------------
- The phpMyAdmin has been installed into /var/www/phpMyAdmin
- You should point this to the DocumentRoot of your web-server:
- # ln -s ../phpMyAdmin /var/www/htdocs/phpMyAdmin
- (make sure you use a relative symlink since Apache is chrooted)
- You can ensure you have a working install by accessing:
- http://<localhost>/phpMyAdmin/index.php
- # ln -fs /var/www/conf/php5.sample/gd.ini \
- > /var/www/conf/php5/gd.ini
- # cd /var/www/htdocs
- # ln -s ../phpMyAdmin /var/www/htdocs/phpMyAdmin
复制代码 设置apache
OpenBSD系统自带了修补过的apache1.3,所以我们只需在/etc/rc.conf.local里加上如下内容,系统每次启动时就可以自动启动apache了:
代码:
httpd_flags=""
如果你需要ssl连接,请自行参照用户手册,这里就不再展开讨论了。
修改 /var/www/conf/httpd.conf 文件中的下列内容:
将原内容:- DirectoryIndex index.html
复制代码 修改为:并删除或改名index.html文件;
如果两个文件全需要,则修改为:- DirectoryIndex index.php index.html
复制代码 让MySQL运行在chroot环境内
因为OpenBSD自带的apcahe是chroot在 /var/www 目录内的,所以我们必须将MySQL运行所需的部件设置在这个目录下。根据FAQ上的说明:- # mkdir -p /var/www/var/run/mysql
复制代码 然后授权:- # chown -R _mysql:_mysql /var/www/var/run/mysql/
复制代码 因为运行环境变化了,还需要修改一下默认的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 = /var/www/var/run/mysql/mysql.sock
- # Here follows entries for some specific programs
- # The MySQL server
- [mysqld]
- port = 3306
- socket = /var/www/var/run/mysql/mysql.sock
复制代码 |
|