当前位置:  首页  >  数据库  >  postgresql

CentOS6系统中安装Apache+postgresql+PHP服务器环境过程

安装日期:2012.9.18软件配置如下:CentOS6.3Apachehttpd2.2.23Postgresql9.2.0PHP5.4.7ImageMagick6.7.9-6imagick3.1.0RC2eAccelerator42067acphpBB3.0.11Drupal7.15vsFtpd2.2.2------
安装日期:2012.9.18
软件配置如下:
CentOS 6.3
Apache httpd 2.2.23
Postgresql 9.2.0
PHP 5.4.7
ImageMagick 6.7.9-6
imagick 3.1.0 RC2
eAccelerator 42067ac
phpBB 3.0.11
Drupal 7.15
vsFtpd 2.2.2

-----------------------------------------------------------------------------

1. CentOS 最小安装,可选项中除中文支持外全部清除
网卡设置:vi /etc/sysconfig/network-scripts/ifcfg-eth0
                     DEVICE=eth0
                     IPADDR=10.50.24.27
                     NETMASK=255.255.255.0
                     GATEWAY=10.50.24.1
                     DNS1=10.50.24.1
                     HWADDR=01:02:03:04:05:06
                     ONBOOT=yes
添加一个非root帐号:
  # useradd cxy
  # passwd cxy
关闭selinux:
  # vi /etc/selinux/config
    修改"SELINUX=enforcing"为"SELINUX=disabled"
禁用IPv6:
  # vi /etc/modprobe.conf
    修改或添加如下两行:
        alias net-pf-10 off
        alias ipv6 off
  #chkconfig ip6tables off
SSH配置:
  # vi /etc/ssh/sshd_config
    Protocol 2
    ServerkeyBits 1024
    PermitRootLogin no
    PermitEmptyPasswords no
    PasswordAuthentication yes
    AllowTcpForwarding no
设置防火墙iptables
  # vi /etc/sysconfig/iptables
    打开80、22、21、20,TCP端口,另开10000-10050 TCP,加上20,21为FTP服务
  # service iptables {start | stop | restart | status}    // 进行相应操作

---------------------------------------------------------------

2. CentOS 后续安装
安装即将用到的工具和库:
  # yum install wget bzip2 gcc-c++ make autoconf automake sendmail zlib zlib-devel \
    readline readline-devel libxml2 libxml2-devel libpng libpng-devel libjpeg libjpeg-devel \
    freetype freetype-devel man vixie-cron crontabs apr apr-devel prce
设置cron自动执行:
  # chkconfig --levels 35 crond on
设置root邮箱:
   # vi /etc/aliases
      添加 root: yourname@yourserver.com
  # newaliases    // 重建数据库
  # echo test | sendmail root    // 发送测试邮件给root
系统升级
  # yum update -y
  # shutdown -r now

-------------------------------------------------------------------

3. Postgresql
安装:
  # ./configure --prefix=/usr/local/srv/pgsql
  # make
  # make install
后续设置:
  # /sbin/ldconfig /usr/local/srv/pgsql/lib    // 设置运行库
  # vi /etc/profile    // 加入如下两行,设置路径环境变量
      PATH=/usr/local/srv/pgsql/bin:$PATH
      export PATH
  # chmod 644 /etc/profile
添加用户并建立日志目录:
  # useradd postgres
  # passwd postgres
  # mkdir /usr/local/srv/logs/pgsql
  # chown postgres /usr/local/srv/logs/pgsql
初始化:
  # mkdir /usr/local/srv/pgsql/data
  # chown postgres /usr/local/srv/pgsql/data
  # su - postgres
  $ cd /usr/local/srv/pgsql/bin
  $ ./initdb -D /usr/local/srv/pgsql/data
  $ exit
编辑数据库配置及权限文件:
  # vi /usr/local/srv/pgsql/data/postgresql.conf    // 数据库配置文件
  # chown postgres postgresql.conf
  # chmod 644 postgresql.conf
  # vi /usr/local/srv/pgsql/data/pg_hba.conf    // 权限文件
  # vi /usr/local/srv/pgsql/data/pg_ident.conf
设置开机自启动:
  拷贝源中的启动脚本linux至/usr/local/srv/pgsql/bin/postgresql
  # vi /etc/rc.d/rc.local    // 添加如下内容
      /usr/local/srv/pgsql/bin/postgresql start
  # vi /usr/local/srv/pgsql/bin/postgresql    // 检查脚本,设置正确路径和用户名,如无日志文件目录须建立

----------------------------------------------------------

4. Apache Httpd
安装:(需要apr, prce,已经于前面步骤安装)
  # ./configure --prefix=/usr/local/srv/apache --enable-rewrite
  # make
  # make install
测试:
  # /usr/local/srv/apache/bin/apachectl -k {start | stop}
配置:
  # vi /usr/local/srv/apache/conf/httpd.conf
设置开机自启动:
  # vi /etc/rc.d/rc.local    // 添加如下内容
      /usr/local/srv/apache/bin/apachectl -k start

---------------------------------------------------------------------------

5. ImageMagick
安装:
  # ./configure --prefix=/usr/local/srv/imagemagick
  # make
  # make install
关联库:
  # /sbin/ldconfig /usr/local/srv/imagemagick/lib
测试:
  # /usr/local/srv/imagemagick/bin/convert --version

----------------------------------------------------------------------------

6. PHP
安装:
  # ./configure \
    --previx=/usr/local/srv/php \
    --with-apxs2=/usr/local/srv/apache/bin/apxs \
    --with-zlib \
    --enable-ftp \
    --with-gd \
    --with-jpeg-dir \
    --with-png-dir \
    --with-freetype-dir \
    --with-zlib-dir \
    --enable-mbstring \
    --with-pgsql=/usr/local/srv/pgsql \
    --with-pdo-pgsql=/usr/local/srv/pgsql
  # make
  # make install
配置:
  拷贝源中的php.ini-development或php.ini-production至/usr/local/srv/php/lib/php.ini
  # vi /usr/local/srv/php/lib/php.ini
   # vi /usr/local/srv/apache/conf/httpd.conf    // 编辑apache httpd配置文件,确认如下内容存在:
      LoadModule php5_module modules/libphp5.so
     
        SetHandler application/x-httpd-php
     
测试:
  # vi /usr/local/srv/www/phpinfo.php    // 在网页目录中建立测试文件,包含如下内容:
     
  在浏览器中打开此文件查看PHP安装情况

------------------------------------------------------------------------------

7. imagick for PHP
安装ImageMagick-devel,否则编译失败
  # rpm -i --nodeps ImageMagick-devel-6.7.9-2.x86_64.rpm
安装:
  # phpize
  # ./configure
  # make
  # make install
配置:
  # vi /usr/local/srv/php/lib/php.ini    // 编辑PHP的配置文件,确认如下内容存在:
      extension=imagick.so
  # /usr/local/srv/apache/bin/apachectl -k restart   // 重启Apache httpd
移除ImageMagick-devel:
  # yum remove ImageMagick-devel

-----------------------------------------------------------------------

8. eAccelerator
安装:
  # export PHP_PREFIX="/usr"    // 设置路径环境变量
  # $PHP_PREFIX/bin/phpize
  # ./configure \
  --enable-shared \
  --with-php-config=$PHP_PREFIX/bin/php-config
  # make
  # make install
配置:
  编辑PHP的配置文件php.ini,添加如下内容:
      extension="eaccelerator.so"
      eaccelerator.shm_size="16"
      eaccelerator.cache_dir="/tmp/eaccelerator"
      eaccelerator.enable="1"
      eaccelerator.optimizer="1"
      eaccelerator.check_mtime="1"
      eaccelerator.debug="0"
      eaccelerator.filter=""
      eaccelerator.shm_ttl="0"
      eaccelerator.shm_prune_period="0"
      eaccelerator.shm_only="0"
创建目录:
  # mkdir /tmp/eaccelerator
  # chmod 0777 /tmp/eaccelerator

-------------------------------------------------------------------------------------

9. Drupal
准备数据库
  # cd /usr/local/srv/pgsql/data
  # su postgres    // 需要用户postgres操作,否则出错
  $ createuser --pwprompt --encrypted --no-adduser --no-createdb drupal    // 生成数据库用户drupal
  $ createdb --encoding=UNICODE --owner=drupal drupal    // 生成属于用户drupal的数据库drupal
  $ exit
设置配置文件
  # cp sites/default/default.settings.php \
       sites/default/settings.php
  # chmod 666 sites/default/settings.php
  # chmod 777 sites/default
浏览器安装
设置配置文件
  # chmod 755 sites/default
  # chmod 644 sites/default/settings.php
 
--------------------------------------------------------------------------------

10. phpBB
准备数据库
  # cd /usr/local/srv/pgsql/data
  # su postgres    // 需要用户postgres操作,否则出错
  $ createuser --pwprompt --encrypted --no-adduser --no-createdb bbs    // 生成数据库用户bbs
  $ createdb --encoding=UNICODE --owner=bbs bbs    // 生成属于用户bbs的数据库bbs
  $ exit
解压至web目录后浏览器安装
删除install目录
设置config.php属性:
  # chmod 644 config.php

---------------------------------------------------------------------------------

11. vsFtpd
由于网络问题没有找到源,所以直接yum安装
  # yum install vsftpd
设置:
  # vi /etc/vsftpd/vsftpd.conf    // 编辑配置文件,并确认如下内容存在:
      pasv_enable=YES
      pasv_min_port=10000 
      pasv_max_port=10050
  # vi /etc/sysconfig/iptables    // 编辑配置文件,确认:
      20、21端口TCP开放    // FTP 端口,21是控制,20是数据
      10000-10050端口开放    // 为PASV模式提供随机端口
添加用户并限定目录:# useradd -d /var/ftp/somewhere -s /bin/false username    // somewhere 目录自动创建。

--------------------------------- 完 ---------------------------------

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有