您的位置:首页 > 理论基础 > 计算机网络

CentOS6 下的PHP,HTTPD,MYSQL等环境搭建

2016-06-27 23:30 337 查看
腾讯云重装了CentOS系统,记录下重装后的环境搭建步骤。

#yum install -y gcc g++ gcc-c++


[b]新建用户[/b]

#useradd sxin
#passwd sxin


我习惯在/usr/local下建立自己的目录然后把环境全部放在此目录下

#mkdir /usr/local/sxin
#chown sxin:sxin /usr/local/sxin


切换到sxin用户

$cd ~
$mkdir downloads
$mkdir downloads/php7 downloads/httpd24 downloads/mysql57 downloads/tools


[b]下载PHP7,HTTPD24,MYSQL57[/b]

$wget http://cn2.php.net/distributions/php-7.0.8.tar.gz 
$wget http://nginx.org/download/nginx-1.11.1.tar.gz $wget http://zlib.net/zlib-1.2.8.tar.gz 
$wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz $wget http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz $wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz $wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.20.tar.gz 
$wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.13.tar.gz $wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz[/code] 
[b]编译安装APR[/b]

$./configure --prefix=/usr/local/sxin/tools/apr && make && make install


[b]编译安装APR-Util[/b]

$./configure --prefix=/usr/local/sxin/tools/apr-util --with-apr=/usr/local/sxin/tools/apr && make && make install


[b]编译安装PCRE[/b]

$./configure --prefix=/usr/local/sxin/tools/pcre && make && make install


[b]编译安装ZLib[/b]

$./configure --prefix=/usr/local/sxin/tools/zlib && make && make install


[b]编译安装Nginx[/b]

$ ./configure --prefix=/usr/local/sxin/nginx --with-pcre=/home/sxin/downloads/tools/pcre-8.39 --with-zlib=/home/sxin/downloads/tools/zlib-1.2.8 && make && make install
注:这里引用的pcre,zlib的是源码目录
做中转,上传大小限制:
client_max_body_size 8M;
server {
listen       80;
server_name  localhost;
**********
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass    http://ip:port/; }
**********
}


[b]编译安装Apache24[/b]

$./configure --prefix=/usr/local/sxin/httpd24 --with-apr=/usr/local/sxin/tools/apr --with-apr-util=/usr/local/sxin/tools/apr-util/ --with-pcre=/usr/local/sxin/tools/pcre/ && make && make install


[b]编译安装Mysql57[/b]

#yum install -y cmake git ncurses-devel

$cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/sxin/mysql -DSYSCONFDIR=/etc/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/usr/local/sxin/mysql/data -DWITH_BOOST=boost -DCURSES_LIBRARY=/usr/lib64/libncurses.so -DCURSES_INCLUDE_PATH=/usr/include && make && make install

$./mysqld --initialize --user=sxin --basedir=/usr/local/sxin/mysql --datadir=/usr/local/sxin/mysql/data

mysql -u root -p连接时
报错 Segmentation fault
修改方法如下:
在MySQL的源代码中,找到这个文件 cmd-line-utils/libedit/terminal.c ,找到这一行 char buf[TC_BUFSIZE]; 将其注释,
然后,在其附近找到变量 area  ,将其值修改为 NULL ,也就是 area = NULL.
protected int
terminal_set(EditLine *el, const char *term)
{
int i;
//char buf[TC_BUFSIZE];
char *area;
const struct termcapstr *t;
sigset_t oset, nset;
int lins, cols;

(void) sigemptyset(&nset);
(void) sigaddset(&nset, SIGWINCH);
(void) sigprocmask(SIG_BLOCK, &nset, &oset);

area = NULL;
重新编译安装
$./mysql -u root -p
$ALTER USER USER() IDENTIFIED BY ‘123’ #修改密码
允许所有主机访问
Grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;


[b]编译安装PHP7[/b]

#yum install -y libxml2 libxml2-devel.x86_64
$./configure --prefix=/usr/local/sxin/php7 --with-config-file-path=/usr/local/sxin/php7/conf --with-apxs2=/usr/local/sxin/httpd24/bin/apxs --with-pdo-mysql=/usr/local/sxin/mysql --with-zlib-dir=/usr/local/sxin/tools/zlib/ && make &&make install


[b]配置环境变量[/b]

#echo 'PATH=$PATH:/usr/local/sxin/mysql/bin/:/usr/local/sxin/httpd24/bin:/usr/local/sxin/nginx/sbin:/usr/local/sxin/php7/bin' >> /etc/profile


#source /etc/profile


[b]打包[/b]

现在虽然环境搭建好了,不过问题又来了,如果我又重装系统了 那就要再重新全部来一次。。。太麻烦。 于是我有了一个想法。 然后写一个shell,下次如果再重装系统 我只要执行shell 然后它会全部自动下载,编译安装。那就爽了~。

详情请参考我的另外一篇博文: SHELL实现CentOS下自动下载,编译安装LAMP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息