热门标签 | 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系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
  • 本文详细介绍如何使用 Apache Spark 执行基本任务,包括启动 Spark Shell、运行示例程序以及编写简单的 WordCount 程序。同时提供了参数配置的注意事项和优化建议。 ... [详细]
  • CentOS 7.2 配置防火墙端口开放
    本文介绍如何在 CentOS 7.2 系统上配置防火墙以开放特定的服务端口,包括 FTP 服务的临时与永久开放方法,以及如何验证配置是否生效。 ... [详细]
  • RedHat 系统下配置国内 YUM 源以替代官方收费源的方法
    本文详细介绍如何在 RedHat Linux 中安装并配置 YUM 包管理器,并通过使用国内镜像源来解决因未购买官方服务而导致的更新源限制问题。 ... [详细]
  • 在使用Maven进行项目构建时,由于依赖库的下载速度慢常常让人感到沮丧,这直接影响了开发效率和学习热情。幸运的是,阿里云提供了一个快速的国内镜像服务,能够显著提升Maven项目的构建速度。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • APM(Application Performance Management,应用性能管理)对于提供互联网服务的企业至关重要。本文将深入探讨APM如何帮助识别和解决导致用户流失的技术问题,以及它在提升整体用户体验方面的作用。 ... [详细]
  • 详解Linux系统启动过程及/etc/rc.d与/etc/rc.d/init.d目录关系
    本文深入探讨了Linux系统启动流程、运行级别及其与/etc/rc.d和/etc/rc.d/init.d目录的关联,旨在帮助读者理解系统启动时各脚本和服务的加载机制。 ... [详细]
  • Java EE CDI:解决依赖关系冲突的实例
    在本教程中,我们将探讨如何在Java EE的CDI(上下文和依赖注入)框架中有效解决依赖关系的冲突问题。通过学习如何使用限定符,您将能够为应用程序的不同客户端提供多种接口实现,并确保每个客户端都能正确调用其所需的实现。 ... [详细]
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社区 版权所有