linux学习笔记-第十八课-LAMP之环境搭建(一)

一、LAMP搭建前的准备

LAMP是四套软件的缩写,分别指的是L-Linux,A-Apache,M-Mysql,P-php,利用这四套软件搭建的web的运行环境。

搭建前需要需要下载好软件

apache http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz

mysql  32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

64位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz

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

软件镜像下载地址http://mirrors.sohu.com/

安装扩展库地址

yum install -y epel-release

安装库文件

yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng
libpng-devel libtiff-devel libjpeg-6b libjpeg-devel-6b freetype
freetype-devel gd gd-devel fontconfig-devel zlib zlib-devel
libevent-devel gcc gcc-c++ flex bison bzip2-devel libXpm libXpm-devel
ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel
imake autoconf automake screen sysstat compat-libstdc++-33 curl
curl-devel libmcrypt-devel

关闭selinux

二、Apache

1 )编译

# 解压软件包
[[email protected] src]# tar -zxvf httpd-2.2.16
# 进入软件目录
[[email protected] src]# cd httpd-2.2.16
# 执行编译参数
[[email protected] httpd-2.2.16]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
# 开始编译
[[email protected] httpd-2.2.16]# make
# 安装软件
[[email protected] httpd-2.2.16]# make install

2 )修改配置

[[email protected] ~]# vim /usr/local/apache2/conf/httpd.conf
..................上面省略.....................
# at a local disk.  If you wish to share the same ServerRoot for multiple
# httpd daemons, you will need to change at least LockFile and PidFile.
#
ServerRoot "/usr/local/apache2"       # apache 程序目录
...................中间省略....................
#
#Listen 12.34.56.78:80
Listen 80           # 监听端口

#
# Dynamic Shared Object (DSO) Support
...................中间省略....................
# as error documents.  e.g. [email protected]
#
ServerAdmin [email protected]           # 管理员邮箱地址

...................中间省略....................
# If your host doesn‘t have a registered DNS name, enter its IP address here.
#
ServerName localhost:80         # 默认ServerName www.example.com:80
                                # 这里需要修改,默认是用注释符“#”注释掉的
#
...................中间省略....................
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/usr/local/apache2/htdocs/"        # 网站文件存储的位置,文件监听目录
                                
#
# Each directory to which Apache has access can be configured with respect
...................中间省略....................
# features.
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all     # 默认为Deny from all,拒绝访问,修改为Allow from all,允许访问
</Directory>

#
# Note that from this point forward you must specifically allow

3 )启动apache

# 修改配置 ,检测是否OK
[[email protected] ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[[email protected] ~]# /usr/local/apache2/bin/apachectl start

4 )检测httpd服务是否有启动,网络端口是否开启,关闭防火墙,或者对80端口放行,外网就可以访问了

 # 进程检测
[[email protected] ~]# ps aux|grep httpd
root     25675  0.0  0.2   5280  2148 ?        Ss   12:30   0:00 /usr/local/apache2/bin/httpd -k start
daemon   25676  0.0  0.1   5280  1548 ?        S    12:30   0:00 /usr/local/apache2/bin/httpd -k start
daemon   25677  0.0  0.1   5280  1548 ?        S    12:30   0:00 /usr/local/apache2/bin/httpd -k start
daemon   25678  0.0  0.1   5280  1548 ?        S    12:30   0:00 /usr/local/apache2/bin/httpd -k start
daemon   25679  0.0  0.1   5280  1548 ?        S    12:30   0:00 /usr/local/apache2/bin/httpd -k start
daemon   25680  0.0  0.1   5280  1548 ?        S    12:30   0:00 /usr/local/apache2/bin/httpd -k start
root     25686  0.0  0.0   4356   740 pts/4    S+   12:34   0:00 grep httpd
[[email protected] ~]#

# 端口检测
[[email protected] ~]# netstat -nlp |grep httpd
tcp        0      0 :::80                       :::*                        LISTEN      25675/httpd       

# 网站状态访问检测
[[email protected] ~]# curl -I localhost
HTTP/1.1 200 OK
Date: Tue, 28 Apr 2015 04:45:54 GMT
Server: Apache/2.2.16 (Unix) DAV/2
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "12a8-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html

在浏览器中输入IP地址,如果显示

It works!

代表成功启动了!



三、mysql

# 解压mysql
[[email protected] src]# tar -zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

# 文件程序移动到指定的安装路径
[[email protected] src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql

# 创建mysql用户,shell状态为/sbin/nologin
[[email protected] mysql]# useradd -s /sbin/nologin mysql

# 进入/usr/local/mysql,初始化mysql库,当有2个OK,代表初始化成功
# 这里要注意,需要修改/etc/hosts,将主机名字,添加到文件了
[[email protected] mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
..................下面省略....................

# 拷贝启动脚本,更改权限
[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql]# chmod 755 /etc/init.d/mysqld

# 修改启动脚本
[[email protected] mysql]# vim /etc/init.d/mysqld
........................上面省略...................
basedir=        <== mysql程序路径
datadir=        <== mysql数据路径
.........................下面省略...................

# 拷贝mysql配置文件,这里需要注意一下,自己的物理内存有多大
[[email protected] mysql]# cp support-files/my-
my-huge.cnf             my-large.cnf            my-small.cnf
my-innodb-heavy-4G.cnf  my-medium.cnf
[[email protected] mysql]# cp support-files/my-large.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf‘? y

# 将mysqld加到服务列表里,并启动
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig mysqld on
[[email protected] mysql]# service mysqld start
Starting MySQL... SUCCESS!

然后进行进程检测,端口检测



四、php

# 解包软件
[[email protected] php-5.3.28]# tar -zxvf php-5.3.28.tar.gz
# 进入php文件目录,编辑参数
[[email protected] php-5.3.28]# ./configure --prefix=/usr/local/php > --with-apxs2=/usr/local/apache2/bin/apxs > --with-config-file-path=/usr/local/php/etc > --with-mysql=/usr/local/mysql > --with-libxml-dir > --with-gd > --with-jpeg-dir > --with-png-dir > --with-freetype-dir > --with-iconv-dir > --with-zlib-dir > --with-bz2 > --with-openssl > --with-mcrypt > --enable-soap > --enable-gd-native-ttf > --enable-mbstring > --enable-sockets > --enable-exif > --disable-ipv6
# 执行编译
[[email protected] php-5.3.28]# make
# 安装文件
[[email protected] php-5.3.28]# make install


五、php与apache的组合

修改apache的配置文件

[[email protected] ~]# vim /usr/local/apache2/conf/httpd.conf
.........................上面省略...........................
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php  <== 默认没有index.htm和index.php,需要加上
</IfModule>

#
# The following lines prevent .htaccess and .htpasswd files from being
.........................中间省略..............................
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php <== 需要在这里加上这一行,增加对php的解析
    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
.........................下面省略................................

还要检查是否加载了php模块

LoadModule php5_module        modules/libphp5.so

修改完配置需要重启apache服务(重启前需要进行检测)

# 编写php解析测试文件
[[email protected] ~]# vim /usr/local/apache2/htdocs/test.php
<?php
phpinfo();
?>
[[email protected] ~]# curl -I localhost/test.php
HTTP/1.1 200 OK
Date: Tue, 28 Apr 2015 23:03:35 GMT
Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
X-Powered-By: PHP/5.3.28
Content-Type: text/html

在浏览器里输入IP地址,显示如下界面,代表解析php成功

到此,LAMP的环境搭建完毕

时间: 2024-12-26 05:30:20

linux学习笔记-第十八课-LAMP之环境搭建(一)的相关文章

linux学习笔记-第十九课-LAMP之网站搭建(二)

一.网站搭建前提 搭建好LAMP运行环境 下载网站程序,这里以Discuz X 3.2 作为示例 Discuz 程序下载地址:    简体中文GBK http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip    繁体中文BIG5 http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_TC_BIG5.zip    简体UTF-8 http://download.comsenz.c

linux学习笔记-第十九课-LAMP之php 与 mysql 配置(三)

一.php 编译完的php,配置文件为空,我们需要将php的配置文件(php.ini)从解压的源码包中的php.ini-development(开发调试模板)和php.ini-production(生产运行模板)中复制一份到php的配置目录中,且名字改为php.ini 1 )disable_functions 配置 默认为空,修改为 disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passt

linux学习笔记-第二十八课-MySQL主从复制,读写分离配置

MySQL主从配置 配置准备将要配置的数据库进行主从同步,主从的服务器上都要有同一个数据库 一.配置mysql主服务器 [[email protected] ~]# vim /etc/my.cnf .................................... log-bin=mysql-bin     <== 打开日志格式 .................................... server-id=1           <== 主从标记 ............

linux学习笔记-第十九课-LAMP之 mysql (四)

mysql日常操作指令 1 )mysql管理员密码的更改,mysql安装完毕后,管理员root的密码默认为空,需要进行修改 格式 :mysqladmin -u root password '新密码' 示例 : [[email protected] ~]# mysqladmin -u root password '123456' [[email protected] ~]# mysql -u root -p # 这时候就需要使用密码登陆mysql Enter password:          

linux学习笔记-第二十二课-LNMP环境搭建(一)

一.LNMP环境搭建前的准备 LNMP就是Linux系统下Nginx+MySQL+PHP这种网站服务器架构,所以需要下载mysql,php,与nginx这三套软件. MySQL : 32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 64位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86

linux学习笔记-第二十六课-Samba与squid

一.Samba Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务.Linux用户通过配置使用Samba服务器可以实现与Windows 用户的资源共享.守护进程smbd和nmbd是Samba的核心,在全部时间内运行.nmbd程序使得通过企图计算机可以浏览Linux服务器. 1.Samba的安装 我们只通过yum安装 [[email protected] ~]# yum install -y samba 2.Samba配置 [[email protected] ~]# v

linux学习笔记-第二十四课-LNMP-Nginx高级配置(三)

一.用户认证 用户认证功能是利用Apache的工具htpasswd生成的密钥,所以需要安装Apache的这个工具即可,我们用yum来安装就可以. [[email protected] ~]# yum install -y httpd-tools [[email protected] ~]# htpasswd -cm /usr/local/nginx/conf/.htpasswd mydiscuz New password: Re-type new password: Adding passwor

linux学习笔记-第十四课-日常管理(一)

一.w和uptime [[email protected] ~]# w  20:29:01 up 28 min,  1 user,  load average: 0.00, 0.00, 0.00 USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT mylinux  pts/0    192.168.1.105    20:12    0.00s  0.32s  0.26s sshd: my

linux学习笔记-第十二课-Shell脚本之正则表达式(一)

一.grep,egrep,fgrep 1)grep 格式:grep [选项] [模式] [文件名] 常用选项:-n:显示行号和匹配的行 -v:反向匹配 -c:不显示匹配的行,只显示匹配的行数 -i:忽略大小写 -r:递归搜索 -E:支持扩展正则表达式 -P:支持Perl正则表达式 -F:不支持正则表达式,将模式按字面意义匹配 示例: grep示例 说明 grep '\<Tom>\' file 显示包含单词Tom的行 grep 'Tom Jerry' file 显示包含'Tom Jerry'的行