Linux下MySQL、Apache、PHP源码安装全程实录(CentOS 6.4)
转自http://www.zjmainstay.cn/lamp-config
本文记录了我自己配置LAMP的全过程,借此记录一下,同时希望能够帮助一下需要帮助的LINUX新人,跟我一起学习,一起进步。
MySQL安装全过程
源码包来自:http://distfiles.macports.org/mysql5/$cd ~/Download$wget http://distfiles.macports.org/mysql5/mysql-5.1.60.tar.gz$chmod +x mysql-5.1.60.tar.gz$tar zxvf mysql-5.1.60.tar.gz$cd mysql-5.1.60$su输入密码:#./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/var/mysql.sock --with-named-curses-libs=/usr/lib/libncursesw.so#make提示错误:exec: g++: not found原因:缺少gcc-c++解决:yum install gcc-c++#yum install gcc-c++#./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/var/mysql.sock --with-named-curses-libs=/usr/lib/libncursesw.so#make提示错误:configure: error: No curses/termcap library found原因:缺少ncurses-devel解决:yum install ncurses-devel#yum install ncurses-devel#./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/var/mysql.sock --with-named-curses-libs=/usr/lib/libncursesw.so#make#make install`make install 假错`make[4]: Entering directory /mysql-test 运行到这句会有不动几分钟,等待就好。安装成功结束复制my.cnf#cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf初始化数据库#cd /usr/local/mysql/#./bin/mysql_install_db添加mysql用户组#groupadd mysql添加mysql用户,位于mysql用户组#useradd -g mysql mysql给mysql用户一个密码#passwd mysql把mysql目录的拥有者设置成mysql#chown -R mysql:mysql *把mysql启动拷贝到系统默认的目录下#cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql启动mysql服务#/etc/init.d/mysql start创建root用户#/usr/local/mysql/bin/mysqladmin -u root password 123456登陆mysql管理#./bin/mysql -uroot -p123456
Apache安装全过程
CentOS会自带apache服务,自带apache可以使用service httpd start启动,程序目录位于/var/www/html/下面,这里移除系统自带Apache#rpm -e httpd提示gnome-user-share依赖下面忽略依赖删除Apache#rpm -e --nodeps httpd源码包来自:http://www.apache.org/底部HTTP Server (http://httpd.apache.org/)#exit$cd ~/Download$wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.25.tar.gz$tar zxvf httpd-2.2.25.tar.gz$cd httpd-2.2.25$su输入密码:#./configure --prefix=/usr/local/apache --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/apache/conf --enable-so --enable-rewrite --enable-proxy --enable-ssl提示错误:configure: error: ...No recognized SSL/TLS toolkit detected原因:确实SSL解决:yum -y install openssl openssl-devel#yum -y install openssl openssl-devel#./configure --prefix=/usr/local/apache --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/apache/conf --enable-so --enable-rewrite --enable-proxy --enable-ssl#make#make install安装完成启动Apache服务器#/usr/local/apache/bin/apachectl start浏览器访问http://localhost可以看到“It Works!”程序目录为:/usr/local/apache/htdocs/创建service httpd start启动#cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
PHP安装全过程
源码包来自http://php.net/downloads.php$cd ~/Download$wget http://us1.php.net/get/php-5.3.27.tar.gz/from/cn2.php.net/mirror$tar zxvf php-5.3.27.tar.gz$cd php-5.3.27$su输入密码:#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc --with-curl --with-mcrypt=/usr/local/libmcrypt/ --with-mbstring --with-incov --with-gd --with-jpeg-dir=/usr/local/lib --enable-pdo --enable-ssl提示错误:configure: error: xml2-config not found. Please check your libxml2 installation.原因:缺少libxml2-devel解决:yum install libxml2-devel#yum install libxml2-devel#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc --with-curl --with-mcrypt=/usr/local/libmcrypt/ --with-mbstring --with-incov --with-gd --with-jpeg-dir=/usr/local/lib --enable-pdo --enable-ssl提示错误:configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/原因:curl-devel没安装解决:yum install curl-devel#yum install curl-devel#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc --with-curl --with-mcrypt=/usr/local/libmcrypt/ --with-mbstring --with-incov --with-gd --with-jpeg-dir=/usr/local/lib --enable-pdo --enable-ssl错误:configure: error: jpeglib.h not found.解决:yum install libjpeg-devel libpng-devel#yum install libjpeg-devel libpng-devel#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc --with-curl --with-mcrypt=/usr/local/libmcrypt/ --with-mbstring --with-incov --with-gd --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --enable-pdo --enable-ssl错误:configure: error: mcrypt.h not found. Please reinstall libmcrypt.解决:CentOS使用yun install libmcrypt安装提示没包,因此需要下载libmcrypt源码包,手动安装项目地址:http://sourceforge.net/projects/mcrypt/files/Libmcrypt/回到Download目录#cd ..#wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz#tar zxvf libmcrypt-2.5.8.tar.gz#cd libmcrypt-2.5.8#./configure --prefix=/usr/local/libmcrypt#make#make install重新进入php目录#cd ../php-5.3.27#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc --with-curl --with-mcrypt=/usr/local/libmcrypt/ --with-mbstring --with-incov --with-gd --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --enable-pdo --enable-ssl#make#make install#cp php.ini-development /usr/local/php/lib/php.ini#vi /usr/local/apache/conf/httpd.conf1、在最后加入(:$(冒号$)可以跳到文件最后一行):AddType application/x-httpd-php .php2、修改文件访问顺序(Line 168):DirectoryIndex index.php index.html提示:vi +168 /usr/local/apache/conf/httpd.conf 可以打开文件,并且指针停留在168行,:set nu(冒号set nu)可以显示行号。安装成功Apache已经启动了服务器,现在关闭,然后重新启动,使用restart我遇见了php依然没识别的问题,所以最好用stop停止再启动#/usr/local/apache/bin/apachectl stop#/usr/local/apache/bin/apachectl start创建第一PHP文件#vi /usr/local/apache/htdocs/index.php<?phpphpinfo();?>在浏览器访问http://localhost 会看到phpinfo输出的信息,证明php成功解析。PHP解析成功后还需要测试PHP和MySQL数据库连通情况前面没有启动mysql则使用 /etc/init.d/mysql start启动服务器#/etc/init.d/mysql start#/usr/local/mysql/bin/mysql -uroot -p123456mysql>show databases;mysql>use test;mysql>CREATE TABLE tb_test(>id int(11) auto_increment not null,>name varchar(255) not null,>PRIMARY KEY(id)>);mysql>INSERT INTO tb_test(name) VALUES('hzg'),('Zjmainstay');mysql>SELECT * FROM tb_test;确认数据库表tb_test有两行数据即可。创建PHP测试程序db_test.php#vi /usr/local/apache/htdocs/db_test.php<?php$db = mysql_connect("localhost","root","123456") or die("Can not connect database!");mysql_select_db("test", $db) or die("Can not select database!");mysql_query("set names utf8", $db) or die("Can not set names!");$sql = "SELECT * FROM tb_test";$res = mysql_query($sql, $db);if(!$res){die("Query error" . mysql_error($db));}else {$format = 'Id=%s, Name=%s<br />';while($row = mysql_fetch_assoc($res)){echo sprintf($format, $row['id'], $row['name']);}}?>保存,并在浏览器端执行http://localhost/db_test.php提示错误:Can not connect to local MySQL server through socket '/usr/local/mysql/var/mysql.sock'将localhost改成127.0.0.1后运行正常原因:var目录没权限,无法写入mysql.sock解决:chmod 0755 /usr/local/mysql/var/#ls /usr/local/mysql/var/打印结果为空授权0755#chmod 0755 /usr/local/mysql/var/授权成功重启服务#/etc/init.d/mysql restart再次查看var目录#ls /usr/local/mysql/var/可以看到此时有数据了,而且有mysql.sock再次运行localhost为服务器的db_test.php程序,执行成功。
Linux下MySQL、Apache、PHP源码安装全程实录(CentOS 6.4)的更多相关文章
- linux下MySQL 5.6源码安装
linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...
- linux应用之apache的源码安装(centos)
第一部分:前期准备 需要下载的东西 下载 Apache 源码包 下载地址: http://httpd.apache.org/download.cgi ...
- linux下PostgreSQL数据库的源码安装
实验环境>>>>>>>>>>>>>>>>>>操作系统:CentOS release 6.3 ...
- CentOS 6.3下MySQL 5.6源码安装
Linux操作系统:CentOS 6.3 1:下载:当前mysql版本到了5.6.10 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downl ...
- linux下hadoop2.6.1源码64位的编译
linux下hadoop2.6.1源码64位的编译 一. 前言 Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题.我们在64位服务器执行Hado ...
- Linux下USB suspend/resume源码分析【转】
转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...
- Linux 系统安装配置PHP服务(源码安装)
简介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要 ...
- linux下Mysql 8.0.19 编译安装
1 前言 linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,这 ...
- RHEL Server 6.3下MySQL5.5.25a源码安装
OS:RHEL Server 6.3 MySQL:mysql-5.5.25a.tar.gz 相关依赖包: ncurses-5.9.tar.gz bison-2.5.tar.gz 安装MySQL 一.安 ...
随机推荐
- AC日记——总分 Score Inflation 洛谷 P2722
题目背景 学生在我们USACO的竞赛中的得分越多我们越高兴. 我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助 题目描述 我们可以从几个种类中选取竞赛的题目,这里的一个"种类& ...
- Javascript 评估用户输入密码的强度
什么是一个安全的密码呢? 1.如果密码少于5位,那么就认为这是一个弱密码. 2.如果密码只由数字.小写字母.大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码. 3.如果密码由数字.小写字母. ...
- Codeforces 551E GukiZ and GukiZiana(分块思想)
题目链接 GukiZ and GukiZiana 题目大意:一个数列,支持两个操作.一种是对区间$[l, r]$中的数全部加上$k$,另一种是查询数列中值为$x$的下标的最大值减最小值. $n < ...
- ES6之Array.includes()函数
一.定义 includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false. 二.语法 arr.includes(searchElement) arr.includ ...
- jQuery使用on()绑定动态生成元素的事件无效
jquery on()方法是jquery1.7+后才使用的 由于需求:动态添加了以下代码 <tr class="pj" data-val="no"> ...
- Extjs grid 单元格编辑
实现grid勾选后出现编辑按钮,通过增加一个字段checked来控制 事件如下: selectionchange: function (thi, selected, eOpts) { for (var ...
- 八卦某 G 的前端开发方式及流程--百度FEX前端nwind信息搜集神技能
他山之石,可以攻玉. 话说本人从毕业到现在一直在某 B 公司工作,前些年折腾过不少开发方式和工具,但总觉得或许有更好的方案,所以很好奇其它公司内部是如何工作的,我曾经浏览过某 Y 公司内部无所不包的 ...
- php自己编译安装后,再给这个编译安装的php版本添加拓展模块的处理办法。
原文: https://www.cnblogs.com/zongyl/p/5924627.html 说明,给编译安装之后的php 添加pgsql 拓展成功. --------------------- ...
- WPF02(concept)
(转自http://www.cnblogs.com/huangxincheng/archive/2012/06/17/2552322.html)这些天从项目上接触到了wpf,感觉有必要做一个笔记,首篇 ...
- 汇率换算自然语言理解功能JAVA DEMO
>>>>>>>>>>>>>>>>>>>>>>>> 欢迎转 ...