FreeBSD 安装Mysql apache PHP 个人笔记

本文档记录了在FreeBSD系统上安装MySQL 5.1、Apache 2.2和PHP的过程,包括每个步骤的详细配置和可能遇到的问题及解决方案,如Apache的Accept Filter错误和PHP的模块选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 安装MySql5.1

先添加mysql组和mysql用户

# pw addgroup mysql

# pw adduser mysql

开始安装

# cd /usr/ports/databases/mysql51-server

# ee Makefile 把--localstatedir=/var/db/mysql 改成--localstatedir=/usr/local/db/mysql后保存退出(我安装时没有修改安装目录,如果修改这个目录则需要修改/usr/local/etc/rc.d/mysql-server文件中的mysql_dbdir=”/usr/local/db/mysql”为你的新目录。否则开机启动会有问题)。

这步主要是因为/var目录缺省分配的空间比较小。我们直接指定到一个大空间去存储mysql数据。在CONFIGURE_ARGS=后面增加--with-charset=gb2312 /和--with-xcharset=all / 两行才能支持中文字符。 # make install clean 编译、安装MySql

# cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf 不同性能的数据库服务器选择下面有5个my-xxxx.cnf文件中的一个进行拷贝:

my-small.cnf 最小配置安装,内存<=64M,数据数量最少

my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存

my-large.cnf 内存=512M my-huge.cnf 1G<内存<2G,服务器主要运行mysql my-innodb-heavy-4G.cnf innodb格式数据大于4G的

# /usr/local/bin/mysql_install_db --user=mysql 建立数据库目录 //记住 一定是 --user两个横线

  如果有报错请执行:/usr/local/bin/mysql_install_db --user=mysql --basedir=/usr/local/ --datadir=/var/db/mysql &

# /usr/local/bin/mysqld_safe & 启动mysql

# /usr/local/bin/mysqladmin -u root password 'newpass' 修改root密码,newpass是你需要改的密码,若是修改成功没有出错信息,表明MySql安装成功 设置自启动服务 先检查确定

 /usr/local/etc/rc.d/文件夹中含有mysql-server启动服务文件

# ee /etc/rc.conf 增加mysql_enable="YES" 重启系统即可

2 安装Apache2.2

# cd /usr/ports/www/apache22/
# make install clean
编译选项不需要很大改变,把有关IP6的选项去掉就行了

设置自启动服务
先检查确定 /usr/local/etc/rc.d/文件夹中含有apache22启动服务文件
# ee /etc/rc.conf
增加apache22_enable="YES"
重启系统即可

 

启动与错误分析
启动apache时显示的提示错误
# /usr/local/sbin/httpd -k start
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

错误一
解决apache Failed to enable the 'httpready' Accept Filter
Apache无法开启FreeBSD下accept filter 的机制。
FreeBSD 系统还提供了http filter,会自动过滤掉不完整的HTTP请求。
1. 解决方法:
# vi /boot/defaults/loader.conf
#打开,下次启动自动装载模块
accf_data_load="YES"
accf_http_load="YES"

2. 或在以下位置添加/boot/loader.conf /etc/loader.conf
accf_http_load="yes"

3. 然后reboot一下就可以解决了

错误二
# netstat -an |grep tcp4
发现80端口没有启动,查看apache错误日志内容

# cat /var/log/httpd-error.log
[Sun Jun 13 10:40:32 2010] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Sun Jun 13 10:40:32 2010] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of ""
Configuration Failed

# vi /usr/local/etc/apache22/httpd.conf
#注释掉以下内容
#LoadModule unique_id_module libexec/apache22/mod_unique_id.so

 

3 安装PHP

# cd /usr/ports/lang/php5
# make install clean

编译选项选择如下:
        lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
        x                      Options for php5 5.3.6                        x
        x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
        x x [X] CLI        Build CLI version                               x x
        x x [X] CGI        Build CGI version                               x x
        x x [ ] FPM        Build FPM version (experimental)                x x
        x x [X ] APACHE     Build Apache module                             x x
        x x [ X] AP2FILTER   Use Apache 2.x filter interface (experimental) x x
        x x [ ] DEBUG      Enable debug                                    x x
        x x [X] SUHOSIN    Enable Suhosin protection system                x x
        x x [X] MULTIBYTE  Enable zend multibyte support                   x x
        x x [] IPV6       Enable ipv6 support                             x x
        x x [ ] MAILHEAD   Enable mail header patch                        x x
        x x [ ] LINKTHR    Link thread lib (for threaded extensions)       x x
        x x                                                                x x
        x x                                                                x x
        x x                                                                x x
        x x                                                                x x
        tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu

 

4 安装PHP扩展

# cd /usr/ports/lang/php5-extensions
# make install clean
 lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
        x                 Options for php5-extensions 1.4                    x
        x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
        x x    [ ] BCMATH      bc style precision math functions           x x
        x x    [X] BZ2         bzip2 library support                       x x
        x x    [X] CALENDAR    calendar conversion support                 x x
        x x    [X] CTYPE       ctype functions                             x x
        x x    [ ] CURL        CURL support                                x x
        x x    [ ] DBA         dba support                                 x x
        x x    [X] DOM         DOM support                                 x x
        x x    [ ] EXIF        EXIF support                                x x
        x x    [X] FILEINFO    fileinfo support                            x x
        x x    [X] FILTER      input filter support                        x x
        x x    [ ] FRIBIDI     FriBidi support                             x x
        x x    [X] FTP         FTP support                                 x x
        x x    [X] GD          GD library support                          x x
        x x    [ ] GETTEXT     gettext library support                     x x
        x x    [ ] GMP         GNU MP support                              x x
        x x    [X] HASH        HASH Message Digest Framework               x x
        x x    [X] ICONV       iconv support                               x x
        x x    [ ] IMAP        IMAP support                                x x
        x x    [ ] INTERBASE   Interbase 6 database support (Firebird)     x x
        x x    [X] JSON        JavaScript Object Serialization support     x x
        x x    [ ] LDAP        OpenLDAP support                            x x
        x x    [X] MBSTRING    multibyte string support                    x x
        x x    [X] MCRYPT      Encryption support                          x x
        x x    [ ] MSSQL       MS-SQL database support                     x x
        x x    [X] MYSQL       MySQL database support                      x x
        x x    [X] MYSQLI      MySQLi database support                     x x
        x x    [ ] ODBC        unixODBC support                            x x
        x x    [ ] OPENSSL     OpenSSL support                             x x
        x x    [ ] PCNTL       pcntl support (CLI only)                    x x
        x x    [X] PDF         PDFlib support (implies GD)                 x x
        x x    [X] PDO         PHP Data Objects Interface (PDO)            x x
        x x    [X] PDO_SQLITE  PDO sqlite driver                           x x
        x x    [ ] PGSQL       PostgreSQL database support                 x x
        x x    [X] POSIX       POSIX-like functions                        x x
        x x    [ ] PSPELL      pspell support                              x x
        x x    [ ] READLINE    readline support (CLI only)                 x x
        x x    [ ] RECODE      recode support                              x x
        x x    [X] SESSION     session support                             x x
        x x    [ ] SHMOP       shmop support                               x x
        x x    [X] SIMPLEXML   simplexml support                           x x
        x x    [ ] SNMP        SNMP support                                x x
        x x    [X] SOAP        SOAP support                                x x
        x x    [X] SOCKETS     sockets support                             x x
        x x    [X] SQLITE      sqlite support                              x x
        x x    [ ] SYBASE_CT   Sybase database support                     x x
        x x    [ ] SYSVMSG     System V message support                    x x
        x x    [ ] SYSVSEM     System V semaphore support                  x x
        x x    [ ] SYSVSHM     System V shared memory support              x x
        x x    [ ] TIDY        TIDY support                                x x
        x x    [X] TOKENIZER   tokenizer support                           x x
        x x    [ ] WDDX        WDDX support (implies XML)                  x x
        x x    [X] XML         XML support                                 x x
        x x    [X] XMLREADER   XMLReader support                           x x
        x x    [X] XMLRPC      XMLRPC-EPI support                          x x
        x x    [X] XMLWRITER   XMLWriter support                           x x
        x x    [ ] XSL         XSL support (Implies DOM)                   x x
        x x    [ ] YAZ         YAZ support (ANSI/NISO Z39.50)              x x
        x x    [X] ZIP         ZIP support                                 x x
        x x    [X] ZLIB        ZLIB support                                x x
        tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu

可以根据自己的需要自定义选择,中间会有多次选项,我一般选择默认

5 配置Apache和PHP

 

1、配置/usr/local/etc/apache22/httpd.conf:
  # ee /usr/local/etc/apache22/httpd.conf
  修改 DirectoryIndex index.html index.htm index index.php index.phps
2、如果你需要修改网站根目录,就修改下面两个地方,下面仅仅是个例子,大家可根据需要自行修改,确保一致即可。
   DocumentRoot "/usr/local/www/web"
3、Options Indexes FollowSymLinks
   去掉Indexes可以限制浏览你的主页目录
4、加入
   AddType application/x-httpd-php .php
   AddType application/x-httpd-php-source .phps #可不加
   *注意:第二行主要为查看php代码用,加上的话web目录下的所有扩展名为.phps的文件在被浏览器访问时都显示其源代码
5、配置/usr/local/etc/php.ini:
   # cd /usr/local/etc/
   # cp php.ini-recommended php.ini        //在freebsd9.2中改成了:cp php.ini-production php.ini
   # ee php.ini
   将short_open_tags = Off 改为On,否则不支持短脚本标记

   在error_reporting = E_ALL前面加上;
   将error_reporting = E_ALL & ~E_NOTICE前面的;去掉
  *将报错信息设置改成去掉notice
   upload_max_filesize = 2M
   上传最大文件尺寸可根据需要修改
   date.timezone = CST
   设置服务器时区为中国的时区

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值