基础篇:源码 Linux+Apache+PHP+MySQL环境配置方法-08CMS网站
前言
朋友公司用到了一个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网站相关推荐
- windows下apache+php+mysql 环境配置方法
转自:http://www.jb51.net/article/30128.htm 一 准备 1 下载apache http://httpd.apache.org/download.cgi#apach ...
- Linux上全源码安装Apache、MySQL、PHP、WSF安装(转载)
Linux上全源码安装Apache.MySQL.PHP.WSF安装 博客分类: PHP PHPMySQLApacheLinuxSQLite Linux上全源码安装Apache.MySQL.PHP.WS ...
- mysql5.6兼容包_freebsd9.1源码安装apache、mysql、php环境(亲侧通过)
新手不建议用源码安装,请慎重 1.安装9.1系统 2.通过Sysinstall安装预装软件 ====================================================== ...
- 深度学习--第1篇(续): Ununtu16.04源码编译libtorch(GUDA版本)环境配置
Ubuntu16.04+libtorch编译 1.参考博客 2.准备工作 3.Libtorch编译安装 3.1 下载Pytorch源码 3.2 下载libtorch库 3.3 CMakeLists编写 ...
- Linux Apache php MySQL 安装配置(Centos 6.4 yum安装)
一.yum准备 1.Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器. 基于RPM包管理,能够 ...
- as工程放到源码编译_Flutter源码剖析(二):源码的阅读与调试环境配置
综述 Flutter从架构上来说有3部分: 用Dart写的Framework层,面向开发者 用Java/Kotlin写的Embdder层(For Android,iOS是OC/Swift),纯Flut ...
- flutter 真机无法调试 sdk报错_Flutter源码剖析(二):源码的阅读与调试环境配置
综述 Flutter从架构上来说有3部分: 用Dart写的Framework层,面向开发者 用Java/Kotlin写的Embdder层(For Android,iOS是OC/Swift),纯Flut ...
- windows 7 64bit 下apache php mysql 环境配置
在64位环境下安装apache,php和配置过程 准备好安装包.(64位版本) Apache 下载地址:http://www.apachelounge.com/download/ Php 下载地址:h ...
- vn.py源码解读(一、环境配置与回测初试)
近来忙于毕业找工作,也不知道能不能继续在量化界混了.周末比较闲,抽空研究了一下vn.py.有人说,为什么学那么多的回测平台呀.其实我个人觉得,做cta的话,两个回测平台还是要的,这样,当你的策略出现和 ...
- linux下flex与bison源码安装,Win flex-bison开发环境配置
Flex-Bison是一套很好很方便的工具,但是主要基于Linux,对于我这种喜(懒)欢(于)使(学)用(习) Windows(Linux)的主,希望能够在windows环境中使用这套工具.所幸,国外 ...
最新文章
- php与nginx之间的通信
- http传输html图片方式,http怎么样传输图片?二进制流还是base64编码
- python中itertools的用法_python中的itertools的使用详解
- python读取excel送到网页_python怎么读取excel!怎么用python将excel数据写入网页中
- 【Vegas原创】终端服务器超出了最大允许连接数 解决方法
- NVIDIA显卡驱动版本,CUDA版本,cudnn版本之间关系及如何选择
- Java中如何实现代理机制(JDK、CGLIB)
- linux wait 子孙进程,Linux-进程基础
- Unity2018新功能抢鲜 | C# Job System Ⅱ
- 使用MTL库求解矩阵特征值和特征向量
- android 加载so 与内存的关系,Android动态调试so之dump内存数据
- Linq to SQL 语法查询....子查询 in操作 join
- 各省简称 拼音 缩写_中国各省、直辖市、自治区名称汉语拼音字母缩
- 一文小入门pyQt5 —— 从零到一完成一个Excel文件处理程序
- 工具说明书 - Windows资源监视器: Resource Monitor
- 软件测试面试经常会被问到的三大问题(面试常考)
- 在面试过程中面试官可能会问到的问题
- uniapp如何引入全局js
- 2022-06-26 笔记本新机重装系统
- 如何优雅的编写前端代码
热门文章
- 联想V470C 禁用触摸板
- 数据结构与算法分析(一)
- 安卓编程 Sqlite的入门编程
- 16Aspx.com源码2014年7月详细
- 【linux】X Server / X Client / Window manager 的关系
- 计算机网络按网络覆盖范围大小排序 从小到大为,现代远程网络教育概论试题及答案分析.pdf...
- 一流科技登上开源供应商名录
- 镁客网每周硬科技领域投融资汇总(10.21-10.27),AI芯片创企Syntiant获英特尔等头部企业投资...
- 测绘工作日常总结(不定稿)
- MSN Messenger 协议