腾讯云重装了CentOS系统,记录下重装后的环境搭建步骤。
#yum install -y gcc g++ gcc-c++
新建用户
#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
下载PHP7,HTTPD24,MYSQL57
$wget http://cn2.php.net/distributions/php-7.0.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
编译安装APR
$./configure --prefix=/usr/local/sxin/tools/apr && make && make install
编译安装APR-Util
$./configure --prefix=/usr/local/sxin/tools/apr-util --with-apr=/usr/local/sxin/tools/apr && make && make install
编译安装PCRE
$./configure --prefix=/usr/local/sxin/tools/pcre && make && make install
编译安装Apache24
$./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
编译安装Mysql57
#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;
重新编译安装
本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。