热门标签 | 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 目录自动创建。

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


推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
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社区 版权所有