新手必看,老鸟绕道–LAMP简易安装

导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台。其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php。相信大家对这些都已经非常熟悉了,但是对于刚接触Linux的新手来说,可能还不是太明白,要装什么包啊,什么模块啊。其实LAMP并不难,下面用最简单的方法安装LAMP。

准备工作

系统环境:centos 6.8 x86_64

[[email protected] ~]# uname -a
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[[email protected] ~]#

LAMP相关包是否安装:
默认httpd已经安装,在这里我们说明下:本次实验我们采用的是yum的方式来进行安装,httpd就是Apache软件在RPM中的软件包名

[[email protected] ~]# rpm -qa httpd
httpd-2.2.15-53.el6.centos.x86_64
[[email protected] ~]# rpm -qa mysql*
[[email protected] ~]# rpm -qa php*
[[email protected] ~]#

L-A-M-P 安装

LAMP的安装其实非常简单,一条命令搞定。个人认为对于初学着没有必要搞那么多这个插件,那个插件;到了深入了解了LAMP后在根据自己实际的需求来进行模块的安装,由易道难,循序渐进的学习。

yum仓库的检查

[[email protected] ~]# yum repolist                 \\查看yum仓库的情况
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.aliyun.com
base                                                               | 3.7 kB     00:00
extras                                                             | 3.4 kB     00:00
updates                                                            | 3.4 kB     00:00
repo id                             repo name                                 status
base                                CentOS-6 - Base                           6,696
extras                              CentOS-6 - Extras                         62
updates                             CentOS-6 - Updates                        482
repolist: 7,240

我们使用的是centos默认的网络yum仓库,当然如果默认yum仓库比较慢的话,可以使用epel的软件包。

yum安装LAMP

[[email protected] ~]# yum -y install httpd mysql mysql-server mysql-devel php*
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-53.el6.centos will be updated
---> Package httpd.x86_64 0:2.2.15-54.el6.centos will be an update
--> Processing Dependency: httpd-tools = 2.2.15-54.el6.centos for package: httpd-2.2.15-54.el6.centos.x86_64
---> Package mysql.x86_64 0:5.1.73-7.el6 will be installed
..........................
Installed:
  mysql.x86_64 0:5.1.73-7.el6    mysql-devel.x86_64 0:5.1.73-7.el6    mysql-server.x86_64 0:5.1.73-7.el6
  php.x86_64 0:5.3.3-48.el6_8    php-bcmath.x86_64 0:5.3.3-48.el6_8   php-cli.x86_64 0:5.3.3-48.el6_8
 .........

Updated:
  httpd.x86_64 0:2.2.15-54.el6.centos                                                                                   

Dependency Updated:
  httpd-tools.x86_64 0:2.2.15-54.el6.centos  net-snmp-libs.x86_64 1:5.5-57.el6_8.1  openssl.x86_64 0:1.0.1e-48.el6_8.1 

Complete!

我们yum命令安装httpd ,安装mysql mysql-server 和mysql-devel开发包,在php的安装包上面我们选择了php* 的命令匹配搜有php相关的包。注意,注意的操作是为了让入门童鞋们先了解LAMP的方案,在深入了解后,还是要跟进实际的情况安装搜需要的包。

LAMP初始化

安装完成LAMP后,我们需要对LAMP进行初始化,其实也就是启动服务,开机自起和必要的配置。

Apache的初始化

[[email protected] ~]# service httpd start           \\启动httpd服务;注意httpd和apache的关系
Starting httpd: httpd: Could not reliably determine the server‘s fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[[email protected] ~]# chkconfig httpd on             \\设置httpd开启自器

mysql的初始化

[[email protected] ~]# service mysqld start           \\开启mysql服务,会提示需要初始化,很详细
Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password ‘new-password‘
/usr/bin/mysqladmin -u root -h localhost.localdomain password ‘new-password‘

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

                                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[[email protected] ~]# chkconfig mysqld on                \\设置mysql开机自启动
[[email protected] ~]# mysqladmin -u root password linuxprobe.com
                            \\初始化mysql,在这里需要设置mysql的root的密码;命令:mysqladmin -u 用户 password 密码
[[email protected] ~]# mysql -u root -p                    \\登录mysql查看是否能够登录
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql>                                             \\ok登录成功

注意:在yum安装lamp的时候,其实php只是apache的一个集成的组件,不需要添加模块的应用,只要在配置文件中启用就可以了。

环境简单的测试

查看经常mysql和httpd是否运行:

[[email protected] ~]# ps -aux |grep httpd               \\查看httpd的进程
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ
root      2930  0.0  2.9 487660 14664 ?        Ss   10:46   0:00 /usr/sbin/httpd
apache    2933  0.0  1.9 487660  9400 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2934  0.0  1.8 487660  9112 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2935  0.0  1.9 487660  9400 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2936  0.0  1.9 487660  9392 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2937  0.0  1.8 487660  9116 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2938  0.0  1.8 487660  9136 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2939  0.0  1.8 487660  9112 ?        S    10:46   0:00 /usr/sbin/httpd
apache    2940  0.0  2.3 487844 11840 ?        S    10:46   0:00 /usr/sbin/httpd
root     10163  0.0  0.1 103316   868 pts/3    S+   12:23   0:00 grep httpd
[[email protected] ~]# ps -aux |grep mysql               \\查看mysql的相关进程
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ
root      3035  0.0  0.2 108216  1452 pts/1    S    10:47   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     3137  0.0  4.3 367512 21444 pts/1    Sl   10:47   0:02 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root     10165  0.0  0.1 103316   868 pts/3    S+   12:23   0:00 grep mysql

[[email protected] ~]# netstat -tanulp |grep 80      \\查看httpd 的端口对外监听
tcp        0      0 192.168.1.108:50878         63.80.4.177:80              ESTABLISHED 2629/clock-applet
tcp        0      0 :::80                       :::*                        LISTEN      2930/httpd
[[email protected] ~]# netstat -tanulp |grep 3306     \\查看mysql的端口对外监听
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3137/mysqld

防火墙的相关设置

[[email protected] ~]# iptables -L                   \\查看iptables的规则
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination     

[[email protected] ~]# iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
                                     \\添加iptables INPUT的链的第一条规则允许tcp协议的80端口
                                  \\关于iptables 的更多设置,请参考《linux就该这样学》相关内容

[[email protected] ~]# service iptables save        \\将我们的添加的规则保存在配置文件
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[[email protected] ~]# iptables -L                         \\查看保存情况
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

测试httpd的静态文件

添加一个测试的静态index.html页面,或者使用默认的页面进行测试。关于添加网站页面的更多问题,请参考《linux就该这样学》的相关内容

[[email protected] ~]# echo "hello word" > /var/www/html/index.html

测试用ie浏览器测试静态页面:

ok,测试成功。

配置文件

[[email protected] ~]# ls /etc/httpd/              \\配置文件目录,相关配置模块
conf/    conf.d/  logs/    modules/ run/
[[email protected] ~]# vi /etc/httpd/conf/
httpd.conf  magic
[[email protected] ~]# vi /etc/httpd/conf/httpd.conf     \\主配文件
[[email protected] ~]# wc -l /etc/httpd/conf/httpd.conf
1009 /etc/httpd/conf/httpd.conf
                              \\ 主配文件共有1009行,其中有好多都是注释的.养成好习惯,备份默认配置文件
[[email protected] ~]# tail /etc/httpd/conf/httpd.conf      \\更多配置建议参考《linux就该这样学》相关内容
# The first VirtualHost section is used for requests without a known
# server name.
#
#                                          \\配置文件中添加虚拟主机的语句
#    ServerAdmin [email protected]
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#

高级环境的测试

LAMP是一个稳定的动态的网站架构方案,在这里我们需要添加php的支持,测试动态网站。

启用对php的支持

[[email protected] ~]# vi /etc/httpd/conf/httpd.conf

[[email protected] ~]# cat /etc/httpd/conf/httpd.conf |grep  DirectoryIndex
                                                  \\在配置文件402行添加对php页面的支持
# DirectoryIndex: sets the file that Apache will serve if a directory

添加php测试页面,测试

[[email protected] ~]# vi /var/www/html/index.php
[[email protected] ~]# cat /var/www/html/index.php    \\添加php信息的测试页面

[[email protected] ~]# vi /var/www/html/test.php
[[email protected] ~]# cat /var/www/html/test.php      \\添加php页面测试
test
this php test

测试:

注意:
动态网页搭建动族论坛 过程略,大家自己测试
Apache:httpd(服务名) 80 (端口)
Mysql: mysqld(服务名) 3306(端口,默认只对本地监听)
php:在apache 中集成,只需添加启用php默认文档即可
lamp的日志等功能,建议查看相关文档
建议安装lamp为了让入门童鞋更加容易了解lamp,生产环境要根据实际情况安装不通的组件。

LAMP,so easy!!!

本文转载自:http://www.linuxprobe.com/yum-lamp-easy.html

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

时间: 2024-10-12 23:53:13

新手必看,老鸟绕道–LAMP简易安装的相关文章

LAMP简易安装

看,老鸟绕道–LAMP简易安装 导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台.其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php.相信大家对这些都已经非常熟悉了,但是对于刚接触Linux的新手来说,可能还不是太明白,要装什么包啊,什么模块啊.其实LAMP并不难,下面用最简单的方法安装LAMP. 准备工作 系统环境:centos 6.8 x86_64 [[email protected] ~]# uname -a Linux lo

[转]Web.config配置文件详解(新手必看)

本文转自:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以

学编程新手必看文章

1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programming Language>和<Inside The C++ Object Model>,不要因为他们很难而我们自己是初学者所以就不看: 4.不要被VC.BCB.BC.MC.TC等词汇所迷惑--他们都是集成开发环境,而我们要学的是一门语言: 5.不要放过任何一个看上去很简单的小编程问题--他们

新手必看,给Linux初学者的建议!

给嵌入式linux初学者的建议                                                    目前,Linux作为嵌入式系统的主力军,广泛应用于消费类电子.工业控制.军工电子.电信/网络/通讯.航空航天.汽车电子.医疗设备.仪器仪表等相关行业.随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度.市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的开发和研究,这使得嵌入式Linux在新兴的嵌入式操作系统领

网赚新手必看

一.什么是网络赚钱?我们知道,今天是IT时代,电脑和网路几乎深入到人们生活的各个领域.我们上网,那些供我们浏览的网站,靠什么赚钱呢?如果不能赚钱,他们花费财力.物力做这些网页做什么?他们做这些当然是有收入的,而且收入一定要大于成本,这样他们才能赚钱,才能开下去.那么他们的收入从哪里来呢?广告啦!是广告商在出钱支持他们!现在你该明白为什么你常常打开一个网页,同时会有一个或几个网页(广告)跟着出来了,这是那些网站开下去的经济支柱啊!如果一个网站(广告商)建立后,很少有人访问,那么他的广告收入也不会高

新手必看】Highcharts的100个基础问答

新手必看]Highcharts的100个基础问答 2014-12-2 10:59| 发布者: Mr.Zhang| 查看: 2749| 评论: 3|来自: Highcharts中文论坛 摘要: 1.图表中的 highcharts.com 怎么去掉? 答:通过设置 credits.eneable = false 即可,即credits: { enabled:false} 为了方便说明,先贴出Highcharts主要组成部分的说明图 图1:highcharts主要组成部分 图中名字解释: Title

Activity的生命周期收藏备用,新手必看

Android官方文档里对Activity的生命周期有比较详尽的描述,但由于资源回收机制带来不确定性,我们的程序运行结果常常与预期的不符,而调试这类问题又十分消耗时间和精力.解决的根本办法还是要理解透Activity的生命周期及相关内容,这篇帖子着重介绍Activity生命周期本身,之后会用一两篇帖子来介绍如何处理异常的状态变化. 下图是官方文档里的Activity生命周期图,其中彩色标出的四个框是Activity的四种状态,当Activity的状态改变时会触发一个或多个onXXX()方法. o

新手必看!Office Web Apps 2013 安装与配置(实战)

分享人:广州华软 星尘 一. 前言 Office Web Apps Server 是Office 服务器产品,它可提供在Sharepoint 2013网站中在线浏览和编辑 Word.PowerPoint.Excel 和 OneNote等Office 文档,以及在线浏览PDF文档.需要在外网使用Office Web Apps功能时需要在第三方服务商处申请SSL数字证书并在Office Web Apps服务器中安装. 二. 目录 1. Office Web Apps 2013服务器安装的前提条件 2

MySQL-5.6.36编译安装教程,新手必看!

首先MySQL是关系型数据库,什么是关系型关系型数据库,优缺点我们也讲了,在上一篇博客:https://blog.51cto.com/14573101/2447264 现在我们来说一说,MySQL的安装方式有哪几种:1.RPM|yum安装速度快,安装方便,不能定制2.二进制:无须安装,解压即用,不能定制3.编译安装:安装慢,可定制5.5之前: ./configure make make install 5.5之后:cmake gmake4.先编译,然后制作rpm,制作yum库,接着yum安装简便