前言

朋友公司用到了一个08cms系统,最近换系统,那边新来的程序员不会搭建环境,在此我转摘了网络上一些相关资料,望能对其所有帮助,08CMS 是一套以 PHP 为编程语言,以 MySQL 为数据库,并使用 Apache/IIS/Nginx(任意一种即可) 提供 web 服务的产品。要搭建 08CMS 站点,服务器必须安装由 PHP、MySQL、Apache/IIS/Nginx 构成的环境。其中,IIS 主要用于 Windows 服务器,Apache、Nginx 多用于 Linux 服务器(即 LAMP 和 LNMP)。

本篇是源码方式安装lamp

Linux 服务器部署时,需要按照一定的部署顺序,即:

系统环境初始化 -> Apache/Nginx、MySQL、PHP 程序包下载 -> Apache/Nginx、MySQL、PHP 安装。

下面以在 RedHat/CentOS 服务器上部署 Apache、MySQL、PHP 为例,演示搭建环境的具体过程。

系统约定

软件源代码包存放位置/usr/local/src

Apache、MySQL、PHP 源码包编译安装位置(prefix)/usr/local/server

脚本以及维护程序存放位置/usr/local/server/software_name/sbin

MySQL 数据库位置/data/mysql(可按情况设置)

Apache 网站根目录/data/wwwroot(可按情况设置)

Apache 虚拟主机日志根目录/data/wwwroot/logs(可按情况设置)

Apache 运行账户www:www

系统环境检查以及准备所需软件

检查系统是否正常

more /var/log/messages(检查有无系统级错误信息)

dmesg (检查硬件设备是否有错误信息)

cat /proc/cpuinfo (检查 CPU 频率是否正常)

top (按 1 检测 CPU 核数是否正常,内存大小是否正常)

ifconfig(检查网卡设置是否正确)

ping www.qq.com(检查网络是否正常)

关闭不需要的服务

执行 ntsysv 命令:

ntsysv

在服务设置界面,设置各项服务的开关。以下仅列出需要启动的服务,未列出的服务一律推荐关闭:

atd

crond

irqbalance

microcode_ctl

network

sendmail

sshd

syslog

操作方法如下:

用空格键(最长的那个)选中或取消服务。选中时,服务的前面的方括号里是“*”,反之则表示取消。设置完毕后,按“Tab”到“ok”回车结束配置。

关闭 SElinux ,关闭方法如下:

修改 /etc/selinux/config 文件中的 SELINUX= 为 disabled。然后执行命令:setenforce 0

设置时区和自动校时

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

yum install -y ntp

ntpdate -u pool.ntp.org

date

#设置定时校正服务器时钟,编辑计划任务:

crontab –e

加入下面一行:

*/30 * * * * ntpdate 210.72.145.44 > /dev/null 2>&1

#编辑完成后,保存即可。

查看系统是否安装过 MySQL+Apahce+PHP 并卸载

rpm -qa|grep  httpd

rpm -e httpd

rpm -qa|grep mysql

rpm -e mysql

rpm -qa|grep php

rpm -e php

yum -y remove httpd*

yum -y remove php*

yum -y remove mysql-server mysql

yum -y remove php-mysql

更换快速下载源

yum -y install yum-fastestmirror

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.old

cd /etc/yum.repos.d/

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

mv CentOS-Base-sohu.repo CentOS-Base.repo

yum clean

yum -y update

lsb_release -a

yum -y erase mysql

yum -y erase php

yum -y erase httpd

使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称)

yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libtiff-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel \

fontconfig-devel zlib zlib-devel libevent-devel gcc gcc-c++ flex bison bzip2-devel libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel \

libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel

下载程序包

Apache:

推荐稳定版 2.2.9,下载地址为 http://archive.apache.org/dist/httpd/httpd-2.2.9.tar.gz

PHP:

推荐稳定版 5.3.6,下载地址为 http://museum.php.net/php5/php-5.3.6.tar.gz

Mysql:

推荐稳定版 5.5.3,下载地址为 http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.31-linux2.6-i686.tar.gz

Zend:

Zend Optimizer (32位),下载地址为http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

Zend Optimizer (64位),下载地址为http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

Zend Guard Loader (32位),下载地址为http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

Zend Guard Loader (64位),下载地址为http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

警告

Zend Optimizer 是在 Linux + PHP5.2.X 及以下版本环境中安装的。

Zend Guard Loader 是在 Linux + PHP5.3.X 及以上版本环境中安装的。

Memcache:

libevent,下载地址为http://www.monkey.org/~provos/libevent-1.4.11-stable.tar.gz

memcached,下载地址为http://danga.com/memcached/dist/memcached-1.4.0.tar.gz

PHP的memcache扩展,下载地址为http://pecl.php.net/get/memcache-2.2.5.tgz

创建 web 运行用户

groupadd www

useradd -g www www

mkdir -p /data/wwwroot

chmod +w /data/wwwroot

chown www:www /data/wwwroot -R

重新启动

init 6

安装 MySQL

cd /usr/local/src

tar zxvf cmake-2.8.5.tar.gz

cd cmake-2.8.5/

./configure

gmake

gmake install

groupadd mysql

useradd -g mysql mysql

mkdir -p /data/mysql

chown -R mysql:mysql /data/mysql

cd /usr/local/src

tar zxvf mysql-5.5.3.tar.gz

cd mysql-5.5.3

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/server/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/usr/local/server/etc/ -DWITH_BLACKHOLE_STORAGE_ENGINE=1

make

make install

cd /usr/local/server/mysql

./scripts/mysql_install_db --user=mysql

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 755 /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 3 mysqld on

编辑 /etc/rc.d/init.d/mysqld,找到

basedir=

datadir=

改成

basedir=/usr/local/server/mysql

datadir=/data/mysql

然后在 Comsenz 目录下创建 etc 目录,并将 MySQL 配置文件拷贝到该目录下:

mkdir -p /usr/local/server/etc

cp ./support-files/my-huge.cnf /usr/local/server/etc/my.cnf

编辑配置文件 /usr/local/server/etc/my.cnf,在 [mysqld] 段增加

datadir = /data/mysql

wait-timeout = 10

max_connections = 512

max_connect_errors = 10000000

local-infile=0

在 [mysqld] 段修改

max_allowed_packet = 16M

thread_cache_size = CPU个数*2

将 log-bin 注释

mv /usr/local/server/mysql/data/* /data/mysql

service mysqld start

bin/mysqladmin -u root password 'admin999'

其中 admin999 是要设置的 root 密码。

安装 Apache

cd /usr/local/src/

tar zxvf httpd-2.2.21.tar.gz

cd httpd-2.2.21

./configure --prefix=/usr/local/server/apache --enable-module=rewrite --disable-access --disable-auth --disable-charset-lite --disable-include --disable-log-config --disable-env --disable-setenvif --disable-mime --disable-status --disable-autoindex --disable-asis --disable-cgid --disable-cgi --disable-negotiation --disable-dir --disable-actions --disable-userdir --disable-alias --enable-so --enable-mods-shared='access auth auth_anon auth_dbm auth_digest dav dav_fs actions alias asis autoindex cache cern_meta cgi charset_lite deflate dir disk_cache env expires file_cache headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias'

make

make install

cd /usr/local/src/

mv /usr/local/server/apache/conf/httpd.conf /usr/local/server/apache/conf/httpd.conf.old

cp -f /usr/local/src/httpd.conf /usr/local/server/apache/conf/httpd.conf

cp -f /usr/local/src/httpd /etc/init.d/httpd

chmod 755 /etc/init.d/httpd

chkconfig --add httpd

chkconfig httpd on

安装PHP

cd /usr/local/src

tar zxvf php-5.2.17.tar.gz

cd php-5.2.17

./configure --prefix=/usr/local/server/php5 --with-config-file-path=/usr/local/server/etc --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-magic-quotes --with-mysql=/usr/local/server/mysql --with-pear --enable-sockets --with-ttf --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --enable-sysvsem --enable-exif --enable-sysvshm --with-libxml-dir=/usr --with-apxs2=/usr/local/server/apache/bin/apxs --with-iconv=/usr/local/libiconv --with-iconv-dir=/usr/local --with-xmlrpc --enable-xml --enable-shmop --enable-zip --with-mhash --with-mcrypt --enable-discard-path --enable-bcmath --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --with-openssl

make

make install

./libtool --finish /usr/local/src/php-5.2.17/libs

cp php.ini-dist /usr/local/server/etc/php.ini

echo 'ulimit -SHn 65535' >> /etc/rc.local

安装 Zend

安装 Zend Optimizer

进入 /usr/local/src 文件夹

tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

mkdir -p /usr/local/zend/

cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/server/zend/

cat >>/usr/local/server/etc/php.ini<<EOF

[Zend Optimizer]

zend_optimizer.optimization_level=1

zend_extension="/usr/local/server/zend/ZendOptimizer.so"

EOF

Zend Optimizer 安装完成后需要重启 Apache 或 Nginx 服务,重启完成后需要再次打开 IE 浏览器窗口,查看 phpinfo.php 支持信息,观察是否包含了 Zend Optimizer 支持信息,如有则安装成功,果没有,则说明 Zend Optimizer 没有安装成功!

安装 Zend GuardLoader

进入 /usr/local/src 文件夹

tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

mkdir -p /usr/local/zend/

cp ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so /usr/local/server/zend/

cat >>/usr/local/server/etc/php.ini<<EOF

[Zend GuardLoader]

zend_extension="/usr/local/server/zend/ZendGuardLoader.so"

EOF

Zend GuardLoader 安装完成后需要重启 Apache 或 Nginx 服务,重启完成后需要再次打开 IE 浏览器窗口,查看 phpinfo.php 支持信息,观察是否包含了 Zend GuardLoader 支持信息,如有则安装成功,如果没有,则说明 Zend GuardLoader 没有安装成功!

安装 Memcache

Memcached是一套分布式的快取或缓存系统。强烈建议安装!安装过程比较简单,因而此处不再进行截图说明。

1、Memcache服务端安装 进入 /usr/local/src 文件夹

tar -zxvf libevent-1.4.11-stable.tar.gz

cd libevent-1.4.11-stable

make clean

./configure --prefix=/usr/local

make;make install

tar zxvf memcached-1.4.0.tar.gz

cd memcached-1.4.0

./configure --prefix=/usr/local/server/memcached --with-libevent=/usr/local

make;make install

安装完成,启动

/usr/local/server/memcached/bin/memcached -d -m 512 -u apache -p 11211 -c 25600

-d 以守护进程方式启动

-m 512 是指分配512M内存

-u apache 是用apache用户启动

-p 11211 使用11211端口

-c 25600 最大的迸发连接数

2、让PHP支持memcache 进入 /usr/local/src 文件夹

tar zxvf memcache-2.2.5.tgz

cd memcache-2.2.5

/usr/local/server/php/bin/phpize

./configure --enable-memcache --with-php-config=/usr/local/server/php/bin/php-config --with-zlib-dir

make;make install

cp /usr/local/server/php/lib/php/extensions/no-debug-zts-20060613/memcache.so /usr/local/server/memcached/

在php.ini的最后添加如下几行, vi /usr/local/server/etc/php.ini

[memcache]

extension=/usr/local/server/memcached/memcache.so

重启apache

service httpd restart

Memcache 安装完成后需要重启 Apache 或 Nginx 服务,重启完成后需要再次打开 IE 浏览器窗口,查看 phpinfo.php 支持信息,观察是否包含了 Memcache 支持信息,如有则安装成功,如果没有,则说明 Memcache 没有安装成功!

重要

安装好后,需要在网站目录 /data/wwwroot/08cms.com 下base.inc.php文件中设置:

$ex_memcache_server = 'localhost';网站才能开启缓存:

提升 PHP 安全性

保存以下内容为 info.php 到 /data/www/08cms.com,检查 phpinfo 中的各项信息是否正确。

<?

phpinfo();

?>

确认 PHP 能够正常工作后,编辑 /usr/local/server/etc/php.ini 进行设置提升 PHP 安全性。

查找disable_functions =

修改成

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen

然后重启 web 服务: service httpd restart

基础篇:源码 Linux+Apache+PHP+MySQL环境配置方法-08CMS网站相关推荐

  1. windows下apache+php+mysql 环境配置方法

    转自:http://www.jb51.net/article/30128.htm 一 准备  1 下载apache http://httpd.apache.org/download.cgi#apach ...

  2. Linux上全源码安装Apache、MySQL、PHP、WSF安装(转载)

    Linux上全源码安装Apache.MySQL.PHP.WSF安装 博客分类: PHP PHPMySQLApacheLinuxSQLite Linux上全源码安装Apache.MySQL.PHP.WS ...

  3. mysql5.6兼容包_freebsd9.1源码安装apache、mysql、php环境(亲侧通过)

    新手不建议用源码安装,请慎重 1.安装9.1系统 2.通过Sysinstall安装预装软件 ====================================================== ...

  4. 深度学习--第1篇(续): Ununtu16.04源码编译libtorch(GUDA版本)环境配置

    Ubuntu16.04+libtorch编译 1.参考博客 2.准备工作 3.Libtorch编译安装 3.1 下载Pytorch源码 3.2 下载libtorch库 3.3 CMakeLists编写 ...

  5. Linux Apache php MySQL 安装配置(Centos 6.4 yum安装)

    一.yum准备 1.Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器. 基于RPM包管理,能够 ...

  6. as工程放到源码编译_Flutter源码剖析(二):源码的阅读与调试环境配置

    综述 Flutter从架构上来说有3部分: 用Dart写的Framework层,面向开发者 用Java/Kotlin写的Embdder层(For Android,iOS是OC/Swift),纯Flut ...

  7. flutter 真机无法调试 sdk报错_Flutter源码剖析(二):源码的阅读与调试环境配置

    综述 Flutter从架构上来说有3部分: 用Dart写的Framework层,面向开发者 用Java/Kotlin写的Embdder层(For Android,iOS是OC/Swift),纯Flut ...

  8. windows 7 64bit 下apache php mysql 环境配置

    在64位环境下安装apache,php和配置过程 准备好安装包.(64位版本) Apache 下载地址:http://www.apachelounge.com/download/ Php 下载地址:h ...

  9. vn.py源码解读(一、环境配置与回测初试)

    近来忙于毕业找工作,也不知道能不能继续在量化界混了.周末比较闲,抽空研究了一下vn.py.有人说,为什么学那么多的回测平台呀.其实我个人觉得,做cta的话,两个回测平台还是要的,这样,当你的策略出现和 ...

  10. linux下flex与bison源码安装,Win flex-bison开发环境配置

    Flex-Bison是一套很好很方便的工具,但是主要基于Linux,对于我这种喜(懒)欢(于)使(学)用(习) Windows(Linux)的主,希望能够在windows环境中使用这套工具.所幸,国外 ...

最新文章

  1. php与nginx之间的通信
  2. http传输html图片方式,http怎么样传输图片?二进制流还是base64编码
  3. python中itertools的用法_python中的itertools的使用详解
  4. python读取excel送到网页_python怎么读取excel!怎么用python将excel数据写入网页中
  5. 【Vegas原创】终端服务器超出了最大允许连接数 解决方法
  6. NVIDIA显卡驱动版本,CUDA版本,cudnn版本之间关系及如何选择
  7. Java中如何实现代理机制(JDK、CGLIB)
  8. linux wait 子孙进程,Linux-进程基础
  9. Unity2018新功能抢鲜 | C# Job System Ⅱ
  10. 使用MTL库求解矩阵特征值和特征向量
  11. android 加载so 与内存的关系,Android动态调试so之dump内存数据
  12. Linq to SQL 语法查询....子查询 in操作 join
  13. 各省简称 拼音 缩写_中国各省、直辖市、自治区名称汉语拼音字母缩
  14. 一文小入门pyQt5 —— 从零到一完成一个Excel文件处理程序
  15. 工具说明书 - Windows资源监视器: Resource Monitor
  16. 软件测试面试经常会被问到的三大问题(面试常考)
  17. 在面试过程中面试官可能会问到的问题
  18. uniapp如何引入全局js
  19. 2022-06-26 笔记本新机重装系统
  20. 如何优雅的编写前端代码

热门文章

  1. 联想V470C 禁用触摸板
  2. 数据结构与算法分析(一)
  3. 安卓编程 Sqlite的入门编程
  4. 16Aspx.com源码2014年7月详细
  5. 【linux】X Server / X Client / Window manager 的关系
  6. 计算机网络按网络覆盖范围大小排序 从小到大为,现代远程网络教育概论试题及答案分析.pdf...
  7. 一流科技登上开源供应商名录
  8. 镁客网每周硬科技领域投融资汇总(10.21-10.27),AI芯片创企Syntiant获英特尔等头部企业投资...
  9. 测绘工作日常总结(不定稿)
  10. MSN Messenger 协议