LAMP平台搭建
来源:互联网 发布:域名访问量查询 编辑:程序博客网 时间:2024/05/17 04:16
LAMP平台搭建
LAMP简介:
lamp架构是目前最为成熟的一种企业网站应用模式,指的是协同工作的一整套系统和相关软件。能够提供动态动态web站点服务及其应用开发环境。LAMP这个词是一个缩写,具体包括:linux操作系统,apache网站服务器,MYSQL数据库服务器,PHP编程语言。该平台具有成本低廉,可定制,易于开发,方便易用,安全稳定的特点。
安装步骤:
一.安装Mysql
一般我们平时安装mysql都是源码包安装的,但是由于它的编译需要很长时间,所以,建议安装二进制免编译包。可以到mysql官网上去下载:
http://www.mysql.com/downloads/
具体版本根据你的平台和需求而定,下面我们使用mysql-5.0.96.tar.gz进行安装,下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.96.tar.gz/from/http://cdn.mysql.com/
下载完成之后核对md5码是否与所下载文件md5码一样,不一样的可能下载过程中出现错误.
查看软件包的MD5值:
md5sum 软件包
下面是安装步骤:
首先查看系统中是否已经安装了MySQL,如果有卸载所有以mysql开头的包
rpm –qa | grep mysql //查看系统中是否已经安装了MySQL
rm –rf /etc/my.cnf //查找/etc/my.cnf,如果有删除它
安装过程如下:
#cd /usr/local/src
#tar zxvf mysql-5.0.96.tar.gz //解压mysql软件包
#mkdir -p /usr/local/mysql //创建mysql所要安装的目录
# groupadd mysql //添加mysql用户及用户组
# useradd -g mysql mysql
# chown -R root /usr/local/mysql //修改mysql目录权限
# chgrp -R mysql /usr/local/mysql
# chown -R mysql /usr/local/mysql/data //修改mysql目录的所有权
#cd mysql.5.0.96
#./configure --prefix=/usr/local/mysql \
--with-charser=gbk \
--with-collation=latin1_general_ci \
--with-extra-charsets=all \
--with-comment=Source \
--with-server-suffix=-Community \
--with-unix-socket-path=/tmp/mysql.sock \
--with-pthread \
--enable-static \
--enable-thread-safe-client \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--enable-assembler \
--without-innodb \
--without-isam \
--without-ndb-debug \
--sysconfdir=/etc \
--localstatedir=/usr/local/mysql/data
【注:参数前“--”复制时可能出现错误,删除掉重新添加上就可以了;
参数解释:
--prefix=/usr/local/mysql,mysql数据库的存放目录;
--with-charser=gbk,默认字符集为gbk格式;
--with-collation=latin1_general_ci,默认字符序是一般;
--with-extra-charsets=all,使用数据集除了默认的;
--with-comment=Source,评论编译环境是源环境;
--with-server-suffix=-Community,附加价值的版本字符串;
--with-unix-socket-path=/tmp/mysql.sock,unix域套接字的存放位置;
--with-pthread,强制使用pthread库;
--enable-static,建立静态库;
--enable-thread-safe-client,编译客户端线程;
--with-client-ldflags=-all-static,额外的连接参数为客户;
--with-mysqld-ldflags=-all-static ,额外的连接参数为mysql;
--enable-assembler,使用汇编版本的语言字符串;
--without-innodb,不包括该表处理程序;
--without-ndb-debug,禁用特殊的ndb调试;
--sysconfdir=/etc,配置文件目录;】
#make && make install //编译安装
//以上步骤可能需要花费一定时间
#cp support-files/my-medium.cnf /etc/my.cnf //copy配置文件
#cp /usr/local/src/mysql/support-files/mysql.server.sh /etc/rc.d/init.d/mysql //copy启动脚本文件并修改其属性
# chmod 755 /etc/rc.d/init.d/mysql
#chkconfig --add mysql
# chkconfig mysql on //修改mysql的权限,使之成为系统服务,这样mysql服务就能在系统启动的时候自己启动了,平时维护起来用service mysql start/stop/restart/status这样的命令就可以了
进入到目录 /usr/local/mysql/bin/
# ./mysql_install_db --user=mysql //初始化mysql,并生成mysql系统数据库
出现以下提示初始化成功
#chown -R mysql:mysql data/
#./mysqld_safe --user=mysql& //在该目录下启动mysql
如出现 Starting mysqld daemon with databases from /usr/local/mysql/data 代表正常启动mysql服务了,按ctrl+c跳出
修改mysql的root密码
#/usr/local/mysql/bin/mysqladmin -u root -p password 123456
回车出现enter password:最开始密码默认为空,继续回车就可以了,123456就是你的新密码
【或者/usr/local/mysql/bin/mysqladmin -u root -p旧密码 password 新密码(不会出现交互式,直接就可以修改了、、、、)】
查看mysql进程使用ps命令:ps aux | grep mysql
登录mysql服务器中
#mysql -u 用户名(此处是root) -p
Password:键入之前设置的密码123456
Mysql>
这样你就进入服务器中了。
可以在服务器中进行一些简单的命令操作,如:show,select,drop,create,insert.....
二、安装apache
使用wget工具去下面网站下载所需软件包
http://archive.apache.org/dist/httpd/
#cd /usr/local/src
解压并释放源码包,并执行“cd”命令切换到展开的源码环境
tar zxvf httpd-2.2.23.tar.gz
cd /usr/local/src/httpd-2.2.23
配置编译选项;
./configure --prefix=/usr/local/apache --enable-so
【参数解释:(这些参数可以根据个人需要添加),如:
--prefix:用于指定httpd服务程序将要安装到的系统目录;
--enable-module=so:使httpd服务能够动态加载模块功能;
--enable-rewrite:使httpd服务具有rewrite网页地址重写功能;
--enable-so:会使用dso处理文件】
编译安装
#make && make install
此过程可能需要花费一定时间,apache安装完成;
检查httpd.conf主配置文件是否存在语法错误
/usr/local/apache/bin/httpd -t
syntax ok 表示语法设置正常
下面我们启动apache
/usr/local/apache/bin/apachectl -k start
netstat -anpt | grep :80
**如果希望再开机时自动运行httpd服务,可以将启动命令写入/etc/rc.d/rc.local文件中
eg: vi /etc/rc.d/rc.local
/usr/local/apache/bin/apachectl -k start
【注:如果启动过程中出现如下错误信息,说明80端口被占用,可以使用如下命令 pgrep httpd | xargs kill -9 ,之后再次启动就可以了】
三、安装GD库必备的软件包
GD库其实是由5个组件组成的。哪5个呢(已经去掉了GIF了,不然是6个)?
zlib jpeg6 libpng freetype libxml2这5个组件组成。下面是每个组件的详细介绍:
zlib其实和上面的gzip有关,就是说,想完全使用deflate的功能,并启用gzip,必须要zlib库的支持;
jpeg6跟验证码生成的jpeg图片有关;
libpng跟验证码生成的pnp图片有关;
libxml2就是负责解析XML标准和XML文件的;
freetype就是验证码生成图片上字体。如果想让验证码图片上支持更多的字体,需要安装freetype;
好了,我们讲完了5个组件的作用。
下面才开始是整体如何安装。
linux下的安装需要注意的细节比较多,一定要注意编译后面的参数
我们需要提前去该网站【下载地址:http://down1.chinaunix.net/distfiles/】
下载这些软件包:
zlib-1.2.3.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.42.tar.bz2
freetype-2.3.5.tar.bz2
libxml2-2.6.30.tar.gz
gd-2.0.33.tar.gz
请一定按顺序来装,比如,一定要先装zlib,不然装libpng的时候就会出问题。
A:安装zlib-1.2.3
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
我操作的过程中只要是指定--prefix路径的,基本上到后面安装GD库的都无法正常编译,此处选择默认的安装路径进行安装。
make
make install
B:安装 jpeg6
建立目录:
mkdir /usr/local/jpeg6/
mkdir /usr/local//jpeg6/bin/
mkdir /usr/local/jpeg6/lib/
mkdir /usr/local/jpeg6/include/
mkdir /usr/local/jpeg6/man/
mkdir /usr/local/jpeg6/man1/
mkdir /usr/local/jpeg6/man/man1/
【注意:文件最后那个"/"符号千万别忘记了,否则就不是建立目录了,或者是在mkdir命令后面加-p参数。(**-p是可以逐级创建目录、/表述“*/”/下面,如:/usr/local/jpeg6/man1/表示 man1下,/usr/local/jpeg6/man1表示和man1目录同级、、)】
cd /usr/local/src
tar -zvxf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
一定要加后面的参数,不然没办法生成共享库。
make && make install
make install-lib //最后一步不可以忽视。
C:安装libpng
tar -jvxf libpng-1.2.42.tar.bz2 //解压
cd libpng-1.2.42
./configure //跟zlib一样,不能指定目录,要不然编译就会出问题,我们选择默认安装
make && make install
D:安装 freetype
cd /usr/local/src
tar jvxf freetype-2.3.5.tar.bz2
cd freetype-2.3.5
mkdir /usr/local/freetype/
./configure --prefix=/usr/local/freetype/
make && make install
E:安装libxml2-2.6.30
tar -zvxf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30
./configure
make && make install
cp xml2-config /usr/bin
F:安装GD-2.0.33库
tar -zvxf gd-2.0.33.tar.gz
mkdir -p /usr/local/gd
cd gd-2.0.33
./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6/
--with-png-dir=/usr/local/lib/ --with-zlib --with-freetype=/usr/local/freetype/
--with-libxml-dir=/usr/local/lib/ //这里一个字符都不能错的。
直到报出下列消息,你再进行下一步的操作。
#** Configuration summary for gd 2.0.35:
Support for PNG library: yes
Support for JPEG library: yes
Support for Fontconfig library: yes
Support for Xpm library: yes
Support for pthreads: yes
##########################################
make && make install
cp gd.h /usr/local/lib //将生成的头文件拷贝到lib目录下,否则会出错
最后,GD库安装完毕,下面开始编译php了。
四、安装PHP
cd /usr/local/src
tar zxvf php-5.4.8.tar.gz
【配置php是用来连接httpd与mysql的,所以别的选项可以不写,但下面这两个选项应该写上,这一步会花费一定时间并有大量信息出现】
Cd php-5.4.8
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
编译并安装
make
make install
拷贝php的配置文件:
cp php.ini-development /usr/local/lib/php/php.ini
修改mysql.default_port = 3306
mysql.default_host = localhost
mysql.default_user = root
五、修改apache主配置文件
tar包安装的apache主配置文件位置与rpm包不太一样
vi /usr/local/apache/conf/httpd.conf //进入配置文件httpd.conf修改
找到”AddType application/x-gzip .tgz”,在它的下面添加
“AddType application/x-httpd-php .php”和”AddType application/x-httpd-php-source .phps”
找到“DirectoryIndex index.html在index.html 后添加 index.php”
重新启动apache服务
/usr/local/apache/bin/apachectl start
如果重新起动APACHE出现:
Syntax error . line 232 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server:
/usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission
denied
那就要按照下面的方法解决:
.编辑/etc/selinux/config,找到这段:
# This file controls the state of SELinux . the system.
# SELINUX= can take .e of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=enforcing
把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:
SELINUX=disabled
保存,关闭。
如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:
SELINUX=disabled
保存,退出。
重新启动apache
/usr/local/apache/bin/apachectl start
查看apache是否启动成功:
ps -ef | grep apache
Netstat -anp | grep 80
六、测试php页面和mysql数据库
(1)编写phpinfo:
Vi /usr/local/apache/htdocs/index.php
<?php
phpinfo();
?>
以http://ip/index.php的方式访问php页面,访问成功会出现如下页面
(2)编写mysql的测试文件:
vim /usr/local/apache/htdocs/testdb.php
<?php
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
测试,在浏览器中输入http://ip/testdb.php,出现“success”表示mysql和php连接成功
测试过程中可能会出现启动不了mysql。
报错信息:
解决办法:
Cd /usr/local/mysql/bin/
执行./mysqld_safe --user=mysql &就可以了
- linux搭建LAMP平台
- LAMP平台搭建
- Lamp开发平台环境搭建
- RedHatLinux9平台下搭建LAMP
- wordpress在LAMP平台搭建
- centos7搭建LAMP平台环境
- Centos6.8 搭建LAMP平台
- RHEL 5中LAMP平台的搭建
- Centos7下搭建LAMP平台环境
- slackware LAMP平台搭建之apache
- slackware LAMP平台搭建之php
- Centos7下搭建LAMP平台环境
- 分离php和mysql搭建LAMP平台
- 在centos 7中搭建lamp平台
- LAMP 平台
- LAMP平台
- LAMP 平台
- 在Linux下快速搭建LAMP开发平台
- SlidingMenu的配置与基本使用方法Demo
- 排序系列之快速排序
- WebView中使用HTML打开本地应用
- XP迎首个“裸奔日”
- cocos2dx之创建悬浮节点
- LAMP平台搭建
- 不安装OpenCV Manager使用OpenCV
- 算法学习之路
- 继承体验
- %20替换空格
- ubuntu 安装报错unable to find medium
- 装饰模式
- 2G-3G-4G网络结构演进过程
- 理解虚基类、虚函数与纯虚函数的概念