linux centos6.5 2.6.32-431.el6.x86

整理以前的资料,发现最近 LAMP 组合的许多版本都跟不上时代了,最新的环境还是想尝试挑战下

测试环境centos6.5 2.6.32-431.el6.x86_64

需要提前安装yum 不会的 猛点这里

需要下载的软件源码

首先确保你的系统是centos5或者centos6先备份你系统自带的repomv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup切换为root用户cd /etc/yum.repos.d/如果你是centos5用户就用wget http://mirrors.163.com/.help/CentOS5-Base-163.repo如果是centos6用户就使用wget http://mirrors.163.com/.help/CentOS6-Base-163.repo然后修改名字mv CentOS6-Base-163.repo CentOS-Base.repo清除缓存 建立新缓存[root@localhost ~]# yum clean all (清除缓存)[root@localhost ~]# yum makecache (建立新缓存)yum install gcchttp://apache.dataguru.cn/apr/apr-util-1.5.3.tar.gzhttp://apache.dataguru.cn/httpd/httpd-2.4.9.tar.gzhttp://apache.dataguru.cn/apr/apr-1.5.1.tar.gzapr./configureapr-util./configure –with-apr=/usr/local/apr//下面这两行是安装后提示安装的默认目录自己留着后面用/usr/bin/install -c -m 644 aprutil.exp /usr/local/apr/lib/usr/bin/install -c -m 755 apu-config.out /usr/local/apr/bin/apu-1-configpcrehttp://www.pcre.org/ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gzftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gzyum install gcc*./configureapache./configure \–with-apr=/usr/local/apr \–with-apr-util=/usr/local/apr/bin/apu-1-config \–with-pcre \–enable-so \–enable-rewrite/usr/local/apache2//usr/local/apache2/bin/apachectl -k restart

没问题的话,打开浏览器输入IP地址就可以看到成功了

如果不出来那就是默认防火墙阻拦了,好办,清空规则[root@localhost yum.repos.d]# iptables -F[root@localhost yum.repos.d]# service iptables save[root@localhost yum.repos.d]# service iptables restart[root@localhost yum.repos.d]#

下面安装php,这里我使用的最简单的配置,然后自己需要什么功能 增加什么功能

php安装yum install libtool

zlibhttp://zlib.net/zlib-1.2.8.tar.gz./configure

http://cn2.php.net/distributions/php-5.5.12.tar.gz

问题:checking whether to enable LIBXML support… yeschecking libxml2 install dir… nochecking for xml2-config path…configure: error: xml2-config not found. Please check your libxml2 installation.[root@localhost php-5.5.9]#

下载rpm包安装ftp://rpmfind.net/linux/centos/6.5/os/x86_64/Packages/libxml2-devel-2.7.6-14.el6.x86_64.rpmftp://rpmfind.net/linux/centos/6.5/os/x86_64/Packages/libxml2-2.7.6-14.el6.x86_64.rpm

OK

2014-03-22修正问题

今天换了个VPS重新编译上面的rpm包安装不上,还是用在线的yum试试,于是,,,,哈!可以了。

如果编译不成功,那么用在线的yum安装下

yum install libxml2

yum install libxml2-devel

这样就ok,继续重新编译安装php即可

./configure \–prefix=/usr/local/php \–with-libdir=/usr/lib64 \–with-config-file-path=/usr/local/php/etc \–with-config-file-scan-dir=/usr/local/php/etc/php.d \–with-apxs2=/usr/local/apache2/bin/apxs

/usr/local/php/lib/php.inicp ./php.ini-development /usr/local/php/etc/php.ini编辑apache配置文件vi /usr/local/apache2/conf/httpd.conf增加AddType application/x-httpd-php .php编辑php.ini配置文件vi /usr/local/php/etc/php.ini修改date.timezone=PRC然后保存退出重新启动apache服务器/usr/local/apache2/bin/apachectl -k restart

到此已经支持PHP了,目前只是支持基础的PHP 如果需要 扩展功能,继续看

安装mysql

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

编译安装mysql

如果错误

— Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)CMake Error at cmake/readline.cmake:82 (MESSAGE): Curses library not found. Please install appropriate package,先安装 ncurses-devel 包yum install ncurses-devel再删除刚才编译生成的 CMakeCache.txt 文件rm CMakeCache.txt

yum install gcc gcc-c++yum install ncurses-develmkdir -p /tmpcd /tmpwget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gzwget http://dx3.mycodes.net/201105/mysql-5.5.12.tar.gzwget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gzcmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_DATADIR=/var/mysql/data \-DMYSQL_USER=mysql[root@localhost mysql-5.5.12]# useradd mysqlchmod +w /usr/local/mysqlchown -R mysql:mysql /usr/local/mysqlln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16mkdir -p /var/mysql/mkdir -p /var/mysql/data/mkdir -p /var/mysql/log/chown -R mysql:mysql /var/mysql/cd support-files/cp my-large.cnf /var/mysql/my.cnfcp mysql.server /etc/rc.d/init.d/mysqld/usr/local/mysql/scripts/mysql_install_db \–defaults-file=/var/mysql/my.cnf \–basedir=/usr/local/mysql \–datadir=/var/mysql/data \–user=mysqlchmod +x /etc/init.d/mysqldvi /etc/init.d/mysqld(编辑此文件,查找并修改以下变量内容:)basedir=/usr/local/mysqldatadir=/var/mysql/datachkconfig –add mysqldchkconfig –level 345 mysqld on启动服务:service mysqld start

2014-03-22新遇到的问题总结

到这里启动的时候不知道什么情况还是之前初始化数据库之类的操作,反正是误操作了!结果提示了

[root@localhost ~]# service mysqld restartERROR! MySQL server PID file could not be found!Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).[root@localhost ~]#

解决方法 rm -f/etc/my.cnf

原因:默认是从预先初始化数据库的路径,而不是/etc/my.cnf这个文件,所以产生了干扰,无法启动

这个问题网上找了很久,大概前后折腾了2小时,网上提到说,权限,文件,等等,我这里发现时my.cnf的配置问题

有人肯定会说,不是编译的时候预编译的my.cnf路径是–defaults-file=/var/mysql/my.cnf \ 这个是,于是发现了问题

如果在./etc/my.cnf存在的话会干扰启动,所以之前装了myslq的或者编译的时候错误手动启动生成/etc/my.cnf这个文件的,删除就可以了

删除/etc/my.cnf这个文件,默认就是从我们初始化数据库的配置启动了,到此特别编辑下,免得大家遇到问题疑惑,如果大家遇到问题请继续留言,我会继续补充完善

设置密码:ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladminln -s /usr/local/mysql/bin/mysql /usr/bin/mysql/usr/local/mysql/bin/mysqladmin password [new-password]/usr/local/mysql/bin/mysqladmin password ‘wodemima’测试连接/usr/local/mysql/bin/mysql -u root -p输入上面设置的密码就可以了

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

我们需要php支持mysql扩展

编译php的模块

如果php源码有扩展,可以到

[root@localhost 2]# cd /a/2/php-5.5.9/ext/[root@localhost ext]# lsbcmath fileinfo mbstring pdo_firebird shmop tokenizerbz2 filter mcrypt pdo_mysql simplexml wddxcalendar ftp mssql pdo_oci skeleton xmlcom_dotnet gd mysql pdo_odbc snmp xmlreaderctype gettext mysqli pdo_pgsql soap xmlrpccurl gmp mysqlnd pdo_sqlite sockets xmlwriterdate hash oci8 pgsql spl xsldba iconv odbc phar sqlite3 zipdom imap opcache posix standard zlibenchant interbase openssl pspell sybase_ctereg intl pcntl readline sysvmsgexif json pcre recode sysvsemext_skel ldap pdo reflection sysvshmext_skel_win32.php libxml pdo_dblib session tidy[root@localhost ext]#

如果要增加什么模块功能,进入到模块目录

例如需要curl支持

cd /a/2/php-5.5.9/ext/curl

//////////////////////////curl扩展、安装curlhttp://curl.haxx.se/download/curl-7.35.0.tar.gz/usr/local/php/bin/phpize./configure –with-php-config=/usr/local/php/bin/php-config –with-curl=/usr[root@localhost curl]# make installInstalling shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20121212////////////////////////////

///////////////////////////mongodb扩展

这个扩展没有默认的,那就从php官方下载一个php扩展,解开目录后进入模块目录http://pecl.php.net/package/mongohttp://pecl.php.net/get/mongo-1.4.5.tgz/usr/local/php/bin/phpize./configure –with-php-config=/usr/local/php/bin/php-config/////////////////////////////

使php支持pdocd /a/2/php-5.5.9/ext/pdo/usr/local/php/bin/phpize./configure \–with-php-config=/usr/local/php/bin/php-config \–enable-pdo=sharedecho "extension= pdo.so" > /usr/local/php/etc/php.d/pdo.so.ini使php支持pdo_mysqlcd /a/2/php-5.5.9/ext/pdo_mysql/usr/local/php/bin/phpize./configure \–with-php-config=/usr/local/php/bin/php-config \–with-pdo-mysql=/usr/local/mysql出现这个问题make: *** [pdo_mysql.lo] Error 1解决方法是–with-pdo-mysql=/usr/local/mysql没有增加echo "extension= pdo_mysql.so" > /usr/local/php/etc/php.d/pdo_mysql.so.ini使php支持mysqlcd /a/2/php-5.5.9/ext/mysql/usr/local/php/bin/phpize./configure \–with-php-config=/usr/local/php/bin/php-config \–with-mysql=/usr/local/mysqlecho "extension= mysql.so" > /usr/local/php/etc/php.d/mysql.so.ini使php支持mysqlicd /a/2/php-5.5.9/ext/mysqli/usr/local/php/bin/phpize[root@localhost mysqli]# find / -name "mysql_config"/a/2/mysql-5.5.12/scripts/mysql_config/usr/local/mysql/bin/mysql_config[root@localhost mysqli]#找到mysql_config./configure \–with-php-config=/usr/local/php/bin/php-config \–with-mysqli=/usr/local/mysql/bin/mysql_configecho "extension= mysqli.so" > /usr/local/php/etc/php.d/mysqli.so.ini

需要什么功能都先编译上面的模块,然后下面的 写入配置文件

我这里使用的编译php的时候指定了 php.ini 目录 和 自动加载 ini配置文件的目录

所以只要增加ini配置文件就可以达到增加功能,模块是上面的编译出来的so模块,默认目录是/usr/local/php/lib/php/extensions/no-debug-zts-20121212

如果编译安装目录是其他目录,那么把下面的改一下目录就可以extension_dir =

////////////////////////////////////

这里增加模块路径echo ‘extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20121212"’ > /usr/local/php/etc/php.d/extensions.so.dir.iniecho "extension= mongo.so" > /usr/local/php/etc/php.d/mongo.so.iniecho "extension= mysqli.so" > /usr/local/php/etc/php.d/mysqli.so.iniecho "extension= curl.so" > /usr/local/php/etc/php.d/curl.so.ini/usr/local/apache2/bin/apachectl -k restart////////////////////////////////////

到此,php功能也可以编译增加了,如果不需要这个模块,不需要删除,只要在extension 前面增加一个 分号 ; 就可以屏蔽这个功能模块了。

与其用泪水悔恨今天,不如用汗水拼搏今天。

linux centos6.5 2.6.32-431.el6.x86

相关文章:

你感兴趣的文章:

标签云: