热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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 目录自动创建。

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


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 本文详细介绍了如何解决MyBatis中常见的BindingException错误,提供了多种排查和修复方法,确保Mapper接口与XML文件的正确配置。 ... [详细]
author-avatar
乐土网6868
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有