免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5227 | 回复: 8
打印 上一主题 下一主题

[OpenBSD] OpenBSD4.8 stable+Apache+Mysql+PHP 完整配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-17 17:03 |只看该作者 |倒序浏览
安装Mysql server
  1. # pkg_add mysql-server
  2. mysql-server-5.1.48:mysql-client-5.1.48: ok
  3. mysql-server-5.1.48:p5-Net-Daemon-0.43: ok
  4. mysql-server-5.1.48:p5-PlRPC-0.2018p0: ok
  5. mysql-server-5.1.48:p5-DBI-1.609: ok
  6. mysql-server-5.1.48:p5-DBD-mysql-4.014: ok
  7. mysql-server-5.1.48: ok
  8. --- +mysql-server-5.1.48 -------------------
  9. You can find detailed instructions on how to install a database
  10. in /usr/local/share/doc/mysql/README.OpenBSD.
  11. #
复制代码
创建默认数据库
  1. # /usr/local/bin/mysql_install_db
  2. Installing MySQL system tables...
  3. 101109 18:20:36 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
  4. OK
  5. Filling help tables...
  6. 101109 18:20:36 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
  7. OK
  8. PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
  9. To do so, start the server, then issue the following commands:
  10. /usr/local/bin/mysqladmin -u root password 'new-password'
  11. /usr/local/bin/mysqladmin -u root -h 123.my.domain password 'new-password'
  12. Alternatively you can run:
  13. /usr/local/bin/mysql_secure_installation
  14. which will also give you the option of removing the test
  15. databases and anonymous user created by default. This is
  16. strongly recommended for production servers.
  17. See the manual for more instructions.
  18. Please report any problems with the /usr/local/bin/mysqlbug script!
  19. #
复制代码
运行Mysql
  1. # mysqld_safe &
  2. [1] 6869
  3. # 101109 18:44:31 mysqld_safe Logging to '/var/mysql/123.my.domain.err'.
  4. 101109 18:44:31 mysqld_safe Starting mysqld daemon with databases from /var/mysql
  5. #
复制代码
设定本地mysql的root密码
  1. # 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文件:
  1. # cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
复制代码
要让数据库的字符集编码默认是UTF-8,还要修改一下/etc/my.cnf文件,必须包含如下的内容:
  1. [client]
  2. default-character-set=utf8
  3. [mysqld]
  4. default-character-set=utf8
  5. init_connect='SET NAMES utf8'
复制代码
此外基本设置里的
  1. max_allowed_packet = 1M
复制代码
这个实在是太小了,如果你要使用phpMyAdmin上传或下载数据库的话,需要按照自己的要求进行调整,我是设置为100M,我觉得100M足以了,再大的话使用phpMyadmin就不太安全了,数据库可能会出错,建议直接使用Mysql命令备份或还原数据库。

有一点需要提醒读者的是,如果你的MySQL仅用于基于PHP的web服务器,或者说你的MYSQL数据库和WEB服务器在一台主机上,那么禁用TCP连接对安装MySQL来说是比较安全的。
具体做法是编辑 /etc/my.cnf 文件,将里面的内容
  1. # skip-networking
复制代码
前面的注释符去掉变成这样:
  1. skip-networking
复制代码
然后保存退出。

在login.conf里增加相关项:
默认情况下,用户_mysql和mysqld进程运行的登录级别是"daemon",在一台非常繁忙的服务器上,将让用户_mysql和mysqld进程运行在自己的登录级别上很明智。
例如调整打开文件等,你必须将下列内容加入到/etc/login.conf文件内,以便登录时mysql有自己的登录级别,否则其无法运行。

  1. mysql:\
  2. :openfiles-cur=1024:\
  3. :openfiles-max=2048:\
  4. :tc=daemon:
复制代码
然后重建login.conf.db文件
  1. # cap_mkdb /etc/login.conf
复制代码
设置MySQL开机自动启动
在/etc/rc.local里加入如下内容:
  1. if [ -x /usr/local/bin/mysqld_safe ] ; then
  2. su -c mysql root -c '/usr/local/bin/mysqld_safe >/dev/null 2>&1 &'
  3. echo -n ' mysql'
  4. fi
复制代码
重新启动系统后:
  1. # top
  2. load averages:  0.31,  0.15,  0.06                                           123.my.domain 21:03:45
  3. 22 processes:  21 idle, 1 on processor
  4. CPU states:  0.0% user,  0.0% nice,  0.2% system,  0.2% interrupt, 99.7% idle
  5. Memory: Real: 52M/88M act/tot  Free: 1161M  Swap: 0K/2047M used/tot
  6.   PID USERNAME PRI NICE  SIZE   RES STATE     WAIT      TIME    CPU COMMAND
  7. 12898 _mysql     2    0  299M   45M sleep     poll      0:01  0.00% mysqld
  8. 28298 root       2    0 3288K 2496K sleep     select    0:00  0.00% sshd
  9. 13511 root      18    0  636K  468K idle      pause     0:00  0.00% sh
  10. 13835 root      28    0  532K 1412K onproc    -         0:00  0.00% top
  11. 14459 _syslogd   2    0  596K  684K idle      poll      0:00  0.00% syslogd
  12. 3407 root      18    0  580K  440K sleep     pause     0:00  0.00% ksh
  13. 22877 root       2    0 1108K 1496K sleep     select    0:00  0.00% sendmail
  14. 12372 root       2    0  420K  716K idle      select    0:00  0.00% inetd
  15. 8273 root       3    0  224K  772K idle      ttyin     0:00  0.00% getty
  16. 17305 _pflogd    4    0  696K  316K sleep     bpf       0:00  0.00% pflogd
  17.     1 root      10    0  524K  312K idle      wait      0:00  0.00% init
  18. 11846 root       3    0  416K  772K idle      ttyin     0:00  0.00% getty
  19. 21981 root       3    0  316K  768K idle      ttyin     0:00  0.00% getty
  20. 31884 root       3    0  444K  776K idle      ttyin     0:00  0.00% getty
  21. 15492 root       3    0  472K  772K idle      ttyin     0:00  0.00% getty
  22. 18076 root       2    0  576K  664K idle      netio     0:00  0.00% syslogd
  23. 12144 root       2    0  452K  808K idle      select    0:00  0.00% cron
  24. 7969 root       2    0  632K  408K idle      netio     0:00  0.00% pflogd
  25. 1415 root       2    0  788K 1184K idle      select    0:00  0.00% sshd
  26. 7666 _dhcp      2    0  608K  224K idle      poll      0:00  0.00% dhclient
  27. 15612 _dhcp      2    0  440K  972K idle      poll      0:00  0.00% dhcpd
  28. 17396 root       2    0  560K  308K idle      poll      0:00  0.00% dhclient
复制代码
测试Mysql服务器:
  1. # mysql -p
  2. Enter password:
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.
  4. Your MySQL connection id is 1
  5. Server version: 5.1.48-log OpenBSD port: mysql-server-5.1.48
  6. Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  7. This software comes with ABSOLUTELY NO WARRANTY. This is free software,
  8. and you are welcome to modify and redistribute it under the GPL v2 license
  9. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  10. mysql>
复制代码
建立一个UTF-8编码的数据库:
  1. CREATE DATABASE `jiarunorg` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
复制代码
分配用户leo具有数据库jiarunorg的所有权限,操作是本地,密码为jiarun:
  1. mysql> grant all on jiarunorg.* to leo@localhost identified by 'jiarun';
  2. Query OK, 0 rows affected (0.00 sec)
复制代码
这里注意,论坛真正运行时并不需要全部的权限,安装你完成后读者请根据自己的情况,自行消减该用户权限。
退出mysql:
  1. mysql> quit
  2. Bye
  3. #
复制代码
安装php5-mysql
注意:别忘了具体提示做ln
  1. # export PKG_PATH=/linghua/packages/i386/
  2. # pkg_add php5-mysql
  3. php5-mysql-5.2.13p0:libiconv-1.13p1: ok
  4. php5-mysql-5.2.13p0:gettext-0.18.1: ok
  5. php5-mysql-5.2.13p0:libxml-2.7.6: ok
  6. php5-mysql-5.2.13p0:php5-core-5.2.13p0: ok
  7. php5-mysql-5.2.13p0: ok
  8. --- +php5-core-5.2.13p0 -------------------
  9. To enable the php5 module please create a symbolic
  10. link from /var/www/conf/modules.sample/php5.conf
  11. to /var/www/conf/modules/php5.conf.
  12. ln -s /var/www/conf/modules.sample/php5.conf \
  13.         /var/www/conf/modules
  14. The recommended php configuration has been installed
  15. to /var/www/conf/php.ini.
  16. --- +php5-mysql-5.2.13p0 -------------------
  17. You can enable this module by creating a symbolic
  18. link from /var/www/conf/php5.sample/mysql.ini to
  19. /var/www/conf/php5/mysql.ini.
  20. ln -fs /var/www/conf/php5.sample/mysql.ini \
  21.         /var/www/conf/php5/mysql.ini
  22. # ln -s /var/www/conf/modules.sample/php5.conf \
  23. >         /var/www/conf/modules
  24. # ln -fs /var/www/conf/php5.sample/mysql.ini \
  25. >         /var/www/conf/php5/mysql.ini
  26. #
复制代码
原来在 4.7 里的这步似乎可以不做了。


解除php限制,编译 /var/www/conf/php.ini
找到:
  1. ; Maximum size of POST data that PHP will accept.
  2. post_max_size = 8M
复制代码
这会限制每个帖子的大小,放大一些吧,我是改为50M。
找到:
  1. ; Maximum allowed size for uploaded files.
  2. upload_max_filesize = 2M
复制代码
这会限制上传文件大小,请自己根据需要修改
找到:
  1. ; Maximum number of files that can be uploaded via a single request
  2. max_file_uploads = 20
复制代码
一次最多上传的文件数,请自行修改。
还有两个我是一般要修改的:
  1. short_open_tag = On
  2. display_errors = On
复制代码
安装php5的其他模块:
  1. # pkg_add php5-core php5-mysql php5-mysqli php5-mbstring php5-soap php5-gd php5-curl php5-bz2 php5-mcrypt php5-mhash php5-xsl
  2. php5-mysqli-5.2.13p0: ok
  3. php5-mbstring-5.2.13p0: ok
  4. php5-soap-5.2.13p0: ok
  5. Ambiguous: php5-gd could be php5-gd-5.2.13p0 php5-gd-5.2.13p0-no_x11
  6. php5-curl-5.2.13p0:libidn-1.11: ok
  7. php5-curl-5.2.13p0:curl-7.20.0: ok
  8. php5-curl-5.2.13p0: ok
  9. php5-bz2-5.2.13p0:bzip2-1.0.5: ok
  10. php5-bz2-5.2.13p0: ok
  11. php5-mcrypt-5.2.13p0:libltdl-1.5.26p0: ok
  12. php5-mcrypt-5.2.13p0:libmcrypt-2.5.8p1: ok
  13. php5-mcrypt-5.2.13p0: ok
  14. php5-mhash-5.2.13p0:mhash-0.9.9.9: ok
  15. php5-mhash-5.2.13p0: ok
  16. php5-xsl-5.2.13p0:libgpg-error-1.9: ok
  17. php5-xsl-5.2.13p0:libgcrypt-1.4.6: ok
  18. php5-xsl-5.2.13p0:sqlite3-3.6.23p0: ok
  19. php5-xsl-5.2.13p0:python-2.5.4p5: ok
  20. php5-xsl-5.2.13p0:libxslt-1.1.26: ok
  21. php5-xsl-5.2.13p0: ok
  22. --- +php5-bz2-5.2.13p0 -------------------
  23. You can enable this module by creating a symbolic
  24. link from /var/www/conf/php5.sample/bz2.ini to
  25. /var/www/conf/php5/bz2.ini.
  26. ln -fs /var/www/conf/php5.sample/bz2.ini \
  27.         /var/www/conf/php5/bz2.ini
  28. --- +php5-curl-5.2.13p0 -------------------
  29. You can enable this module by creating a symbolic
  30. link from /var/www/conf/php5.sample/curl.ini to
  31. /var/www/conf/php5/curl.ini.
  32. ln -fs /var/www/conf/php5.sample/curl.ini \
  33.         /var/www/conf/php5/curl.ini
  34. --- +php5-mbstring-5.2.13p0 -------------------
  35. You can enable this module by creating a symbolic
  36. link from /var/www/conf/php5.sample/mbstring.ini to
  37. /var/www/conf/php5/mbstring.ini.
  38. ln -fs /var/www/conf/php5.sample/mbstring.ini \
  39.         /var/www/conf/php5/mbstring.ini
  40. --- +php5-mcrypt-5.2.13p0 -------------------
  41. You can enable this module by creating a symbolic
  42. link from /var/www/conf/php5.sample/mcrypt.ini to
  43. /var/www/conf/php5/mcrypt.ini.
  44. ln -fs /var/www/conf/php5.sample/mcrypt.ini \
  45.         /var/www/conf/php5/mcrypt.ini
  46. --- +php5-mhash-5.2.13p0 -------------------
  47. You can enable this module by creating a symbolic
  48. link from /var/www/conf/php5.sample/mhash.ini to
  49. /var/www/conf/php5/mhash.ini.
  50. ln -fs /var/www/conf/php5.sample/mhash.ini \
  51.         /var/www/conf/php5/mhash.ini
  52. --- +php5-mysqli-5.2.13p0 -------------------
  53. You can enable this module by creating a symbolic
  54. link from /var/www/conf/php5.sample/mysqli.ini to
  55. /var/www/conf/php5/mysqli.ini.
  56. ln -fs /var/www/conf/php5.sample/mysqli.ini \
  57.         /var/www/conf/php5/mysqli.ini
  58. --- +php5-soap-5.2.13p0 -------------------
  59. You can enable this module by creating a symbolic
  60. link from /var/www/conf/php5.sample/soap.ini to
  61. /var/www/conf/php5/soap.ini.
  62. ln -fs /var/www/conf/php5.sample/soap.ini \
  63.         /var/www/conf/php5/soap.ini
  64. --- +php5-xsl-5.2.13p0 -------------------
  65. You can enable this module by creating a symbolic
  66. link from /var/www/conf/php5.sample/xsl.ini to
  67. /var/www/conf/php5/xsl.ini.
  68. ln -fs /var/www/conf/php5.sample/xsl.ini \
  69.         /var/www/conf/php5/xsl.ini
  70. --- +python-2.5.4p5 -------------------
  71. If you want to use this package as your default system python, as root
  72. create symbolic links like so (overwriting any previous default):
  73. ln -sf /usr/local/bin/python2.5 /usr/local/bin/python
  74. ln -sf /usr/local/bin/python2.5-config /usr/local/bin/python-config
  75. ln -sf /usr/local/bin/pydoc2.5  /usr/local/bin/pydoc
  76. #
复制代码
安装mod_zip
  1. # pkg_add mod_gzip
  2. mod_gzip-1.3.26.1ap4: ok
  3. --- +mod_gzip-1.3.26.1ap4 -------------------
  4. To finish the install of mod_gzip-1.3.26.1ap4, you need
  5. to enable the module using the following command
  6.   /usr/local/sbin/mod_gzip-enable
  7. Also, copy the following file into your Apache config:
  8. /usr/local/share/examples/mod_gzip/mod_gzip.conf.sample
  9. The manual is found at /usr/local/share/doc/mod_gzip
  10. If you already have Apache running on your machine,
  11. you should not use "apachectl restart" - instead,
  12. you should fully stop and then start the server.
  13. #
复制代码
安装phpMyAdmin
  1. # pkg_add phpMyAdmin
  2. phpMyAdmin-3.3.4:png-1.2.44: ok
  3. phpMyAdmin-3.3.4:t1lib-5.1.0p2: ok
  4. phpMyAdmin-3.3.4:jpeg-8b: ok
  5. phpMyAdmin-3.3.4:php5-gd-5.2.13p0: ok
  6. phpMyAdmin-3.3.4: ok
  7. --- +php5-gd-5.2.13p0 -------------------
  8. You can enable this module by creating a symbolic
  9. link from /var/www/conf/php5.sample/gd.ini to
  10. /var/www/conf/php5/gd.ini.
  11. ln -fs /var/www/conf/php5.sample/gd.ini \
  12.         /var/www/conf/php5/gd.ini
  13. --- +phpMyAdmin-3.3.4 -------------------
  14. The phpMyAdmin has been installed into /var/www/phpMyAdmin
  15. You should point this to the DocumentRoot of your web-server:
  16.    # ln -s ../phpMyAdmin /var/www/htdocs/phpMyAdmin
  17. (make sure you use a relative symlink since Apache is chrooted)
  18. You can ensure you have a working install by accessing:
  19. http://<localhost>/phpMyAdmin/index.php
  20. # ln -fs /var/www/conf/php5.sample/gd.ini \
  21. >         /var/www/conf/php5/gd.ini
  22. # cd /var/www/htdocs
  23. # ln -s ../phpMyAdmin /var/www/htdocs/phpMyAdmin
复制代码
设置apache
OpenBSD系统自带了修补过的apache1.3,所以我们只需在/etc/rc.conf.local里加上如下内容,系统每次启动时就可以自动启动apache了:
代码:

httpd_flags=""

如果你需要ssl连接,请自行参照用户手册,这里就不再展开讨论了。
修改 /var/www/conf/httpd.conf 文件中的下列内容:
将原内容:
  1. DirectoryIndex index.html
复制代码
修改为:
  1. DirectoryIndex index.php
复制代码
并删除或改名index.html文件;
如果两个文件全需要,则修改为:
  1. DirectoryIndex index.php index.html
复制代码
让MySQL运行在chroot环境内
因为OpenBSD自带的apcahe是chroot在 /var/www 目录内的,所以我们必须将MySQL运行所需的部件设置在这个目录下。根据FAQ上的说明:
  1. # mkdir -p /var/www/var/run/mysql
复制代码
然后授权:
  1. # chown -R _mysql:_mysql /var/www/var/run/mysql/
复制代码
因为运行环境变化了,还需要修改一下默认的mysql配置文件 /etc/my.cnf,把下面socket的地址更换为:/var/www/var/run/mysql/
原先的内容:
  1. # The following options will be passed to all MySQL clients
  2. [client]
  3. #password = your_password
  4. port = 3306
  5. socket = /var/run/mysql/mysql.sock
  6. # Here follows entries for some specific programs
  7. # The MySQL server
  8. [mysqld]
  9. port = 3306
  10. socket = /var/run/mysql/mysql.sock
复制代码
更换后的内容:
  1. # The following options will be passed to all MySQL clients
  2. [client]
  3. #password = your_password
  4. port = 3306
  5. socket = /var/www/var/run/mysql/mysql.sock
  6. # Here follows entries for some specific programs
  7. # The MySQL server
  8. [mysqld]
  9. port = 3306
  10. socket = /var/www/var/run/mysql/mysql.sock
复制代码

论坛徽章:
0
2 [报告]
发表于 2010-11-17 19:44 |只看该作者
:wink: 好东西啊

论坛徽章:
0
3 [报告]
发表于 2010-11-19 09:05 |只看该作者
好东西啊
ppabc 发表于 2010-11-17 19:44



   

论坛徽章:
0
4 [报告]
发表于 2010-11-21 10:28 |只看该作者
呵呵,看看,不错的东东

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
5 [报告]
发表于 2010-11-21 11:25 |只看该作者
支持!数据库部分讲的很详细

论坛徽章:
0
6 [报告]
发表于 2010-11-21 20:04 |只看该作者
麻烦问下。装openbsd4.8时。用不用安装Xwindows.包
平时安装时,不安装Xwindows.只用它来跑PF,现在想装个WEB。

论坛徽章:
0
7 [报告]
发表于 2010-11-22 09:57 |只看该作者
麻烦问下。装openbsd4.8时。用不用安装Xwindows.包
平时安装时,不安装Xwindows.只用它来跑PF,现在想装个 ...
sjfff99 发表于 2010-11-21 20:04



    哈哈,平时玩儿的时候,基本上涉及不到uinx下非得用GUI的情况,就是有作图或者网页开发时候的需求,也是在win下做,做完在传上unix的服务器
  仅供参考,感觉在unix下搭服务器就成,开发端还是放在win下好

论坛徽章:
0
8 [报告]
发表于 2010-11-22 09:57 |只看该作者
呵呵,看看,不错的东东
wjpl11 发表于 2010-11-21 10:28



    握手啊

论坛徽章:
0
9 [报告]
发表于 2010-11-22 09:58 |只看该作者
支持!数据库部分讲的很详细
lsstarboy 发表于 2010-11-21 11:25



   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP