Linux安装LAMP环境各种问题

1.  查看linux下是否已经搭建lamp环境

使用的yum安装,它可以帮助我们解决软件自己的依赖关系.我还在后面加了postgresql数据库如果不需要的话可以去掉和postgresql的参数.命令如下

yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql php-pgsql php-devel

启动apache服务并查看时候启动成功
命令如下:(切记用root用户启动服务)
启动:/etc/rc.d/init.d/httpd start
检测启动结果:ps aux | grep httpd

查看服务器的ip并进入网站根目录新建一个phpinfo.php的程序,用于查看php相关配置信息。

如果上述进展顺利,那我们接下来进行mysql数据库的配置
命令如下:

启动: /etc/rc.d/init.d/mysqld start
检查启动结果: netstat -tulnp | grep :3306
修改root密码: mysqladmin -u root password ‘你想设置的密码’

进入mysql数据库,创建demo库和用于测试的person表,并插入测试数据

最后编写php连接mysql的测试代码,检测mysql是否能正常配合php工作

Linux下apache/httpd服务启动与停止

apache服务,或者说httpd服务,如何启动,如何开机启动。

转来转去,找不到原文..

操作系统环境:红帽5,具体如下:
# uname -a 
Linux machine1 2.6.18-164.el5xen #1 SMP Tue Aug 18 15:59:52 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.4 (Tikanga)

查看apache/httpd,版本:
# /usr/sbin/httpd -v 
Server version: Apache/2.2.3
Server built:   Jul 15 2009 09:02:25
或者
# /usr/sbin/apachectl -v 
Server version: Apache/2.2.3
Server built:   Jul 15 2009 09:02:25

之前一直在说apache,或者httpd;
其实httpd是服务,apache是个类似快捷方式;

但是因为apache太有名,似乎说apache,就是在说httpd服务了。
因此,后文只说httpd服务。


/usr/sbin/apachectl其实是个脚本;
/usr/sbin/httpd 才是真正的程序;

下面回答如何启动httpd服务?
脚本启动:
# /usr/sbin/apachectl start 
[root@radius guoq]# ps -ef|grep apache
apache    6680  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
apache    6681  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
apache    6682  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
apache    6683  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
apache    6684  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
apache    6685  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
apache    6686  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
apache    6687  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
root      6689  5393  0 09:49 pts/1    00:00:00 grep apache
停止就是# /usr/sbin/apachectl stop;

如果读一下脚本/usr/sbin/apachectl, 就会发现两个小秘密: 
1. 脚本接受参数 start,stop,restart,还有 graceful,graceful-stop;
2. 其实,脚本还是把参数传递给了 /usr/sbin/httpd;

因此,我们可以 
#/usr/sbin/httpd -k start
启动服务; 
#/usr/sbin/httpd -k stop
停止服务;

下面回答如何开机启动?
如果搜索一下
# find / -name "httpd" 
/var/log/httpd
/usr/sbin/httpd
/usr/lib64/httpd
/etc/rc.d/init.d/httpd 
/etc/logrotate.d/httpd
/etc/httpd
/etc/sysconfig/httpd
/home/guoq/osrc/tcl8.4.19/tests/httpd
/opt/soft/httpd-2.2.14/httpd
/opt/soft/httpd-2.2.14/.libs/httpd
/opt/apache2.2.14/bin/httpd

我们会发现apache已经给我们准备好了开机启动脚本,
/etc/rc.d/init.d/httpd

可以检查它是否在开机启动列表: 
# chkconfig --list | grep httpd
httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

如果需要,可以将它加入开机启动列表: 
#chkconfig --add httpd
或者,从开机列表中删除: 
#chkconfig --del httpd 

在我的系统中,它已经在开机启动列表: 
httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭 
只是它没有被允许开机自动启动

我希望它在当前的运行级别下,自动启动,我最近在学点PHP;
# chkconfig --level 5 httpd on 
# chkconfig --list httpd
httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:启用   6:关闭

wait,我怎么知道我的运行级别?
# runlevel 
N 5

全文完。
 
 
不知为什么上面的方法,于是到网上再找找了,找到下面的方法:

   1)添加程序脚本到/etc/init.d目录下 
      sudo  cp /home/cnscn/my_servd  /etc/init.d/
  
   2)添加到启动列表 
      sudo   update-rc.d  my_servd  defaults

  3) 就会产生以下连接: 
       Adding system startup for /etc/init.d/my_servd ...
       /etc/rc0.d/K20my_servd -> ../init.d/my_servd
       /etc/rc1.d/K20my_servd -> ../init.d/my_servd
       /etc/rc6.d/K20my_servd -> ../init.d/my_servd
       /etc/rc2.d/S20my_servd -> ../init.d/my_servd
       /etc/rc3.d/S20my_servd -> ../init.d/my_servd
       /etc/rc4.d/S20my_servd -> ../init.d/my_servd
       /etc/rc5.d/S20my_servd -> ../init.d/my_servd

   4) 指定启动、关闭级别 (20表示一个级别) (注意后面的 . ) 
            sudo update-rc.d  my_servd  start  20   3  4  5  .      在3,4,5级别上启动
            sudo update-rc.d  my_servd  start  20   0 1 2 6 .      在3,4,5级别上关闭
      
      或
            sudo update-rc.d my_servd  start 20 3 4 5 .   stop 20 0 1 2 6 . 

   5) 移除服务 
      sudo update-rc.d  -f  my_servd  remove

如何查看linux是否安装php环境?

1、首先可以利用find / -name php.ini 查找一下,系统是否有php的配置文件2、利用netstat -ntpl 查看9000端口是否在运行3、如果9000端口存在,可以使用lsof -i:9000查看文件位置4、另外,如果系统已经安装了php,你还可以用php -v 查看版本号,前提是设置环境变量

 

apache:

如果采用RPM包安装,安装路径应在 /etc/httpd目录下

apache配置文件:/etc/httpd/conf/httpd.conf

Apache模块路径:/usr/sbin/apachectl 

web目录:/var/www/html 

如果采用源代码安装,一般默认安装在/usr/local/apache2目录下

php:

如果采用RPM包安装,安装路径应在 /etc/目录下 

php的配置文件:/etc/php.ini

如果采用源代码安装,一般默认安装在/usr/local/lib目录下

php配置文件: /usr/local/lib/php.ini

或/usr/local/php/etc/php.ini

mysql: 

如果采用RPM包安装,安装路径应在/usr/share/mysql目录下

mysqldump文件位置:/usr/bin/mysqldump

mysqli配置文件:

/etc/my.cnf或/usr/share/mysql/my.cnf

mysql数据目录在/var/lib/mysql目录下

如果采用源代码安装,一般默认安装在/usr/local/mysql目录下

Centos6.5 下搭建LAMP环境

安装apache服务

Step1:使用yum安装apache

Sudo yum install httpd -y

PS:采用该方法进行安装 apache的配置文件的默认路径为:/etc/httpd/conf/httpd.conf

Step2:配置防火墙(开启80端口)

Sudo vim /etc/sysconfig/iptables (防火墙为iptables用此方法 )

PS:如果防火墙为Firewall 请参考: http://www.cnblogs.com/yoke/p/7236293.html

复制代码
 1 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 2 
 3  -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT
 4 
 5 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
 6 
 7 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT   //添加
 8 
 9  -A INPUT -j REJECT --reject-with icmp-host-prohibited
10 
11 -A FORWARD -j REJECT --reject-with icmp-host-prohibited
复制代码

Step3:配置完防火墙之后需要重新启动防火墙

Sudo service iptables restart

复制代码
1  
2 
3 iptables: Setting chains to policy ACCEPT: filter [ OK ] 
4 iptables: Flushing firewall rules: [ OK ] 
5 iptables: Unloading modules: [ OK ] 
6 iptables: Applying firewall rules: [ OK ]
7  
复制代码

step4:apache配置完成之后,则可启动服务

sudo service httpd start

1 Starting httpd: httpd: apr_sockaddr_info_get() failed for sd
2 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
3  [ OK ]
4  

Ps:虽然这里可以启动但是报错,这是因为没有在Apache服务器的配置文件中添加ServerName参数,所以我们要在配置文件中配置这个参数

Step5:查看hostname主机名,并将该主机添加到apache配置文件的ServerName参数

 [tong@tong /]$ hostname 
tong 
[tong@tong /]$ cat /etc/sysconfig/network 
NETWORKING=yes 
HOSTNAME=tong

由上述的hostname为tong,则编辑Apache配置文件

[tong@tong conf]$ sudo vi /etc/httpd/conf/httpd.conf

在其中加入一行:ServerName tong:80

Step6:重新启动Apache服务,则不会报错

[tong@tong conf]$ sudo service httpd restart 
Stopping httpd: [ OK ] 
Starting httpd: [ OK ]

配置完成之后在本机浏览器中键入127.0.0.1(非本机测试键入IP)

出现一下页面则说明apache搭建完成

安装MySQL(5.7)服务

step1:检测系统是否自带安装mysql

yum list installed | grep mysql

如果有自带的mysql进行step2

step2:删除系统自带的mysql及其依赖命令

yum -y remove 包全名(将自带的包全部删除)

step3:安装mysql服务器命令

yum -y install mysql-server (或者mysql-community-server)

step4:启动mysql命令

service mysqld start

step5:查看mysql是否开机自启,并且设置开机自启

chkconfig --list |grep mysqld

chkconfig mysqld on

step6:mysql安全设置命令

mysql_secure_installation

如果是新安装的mysql还没有设置密码 Enter current…之后直接回车(设置密码)

 

 

之后一路绿灯

 

 至此mysql环境已经搭建完成

安装PHP服务

Centos 6.默认下没有安装php组件,因此我们需要输入命令:yum -y install php

程序会自动完成安装及配置。

前期工作准备完成之后,对apache进行配置

输入命令:vi /etc/httpd/conf/httpd.conf //打开Apache配置文件

找到ServerTokens OS 将“OS”改为“Prod “ 。//显示服务器运行错误信息。

启动http,  /etc/rc.d/init.d/httpd start

输入命令:vi /var/www/html/

在html文件夹下创建info.php文件

输入信息:<?php 

phpinfo(); 

?>

保存退出。

然后通过你的浏览器输入:127.0.0.1/info.php 如出现下图界面,恭喜你php运行环境你配置成功啦。

最后是验证安装

终端命令:PHP -v,显示当前PHP版本。
[root@root /]# php -v 

PS:如果之前已经安装过其他版本的php,想要删除的话,用下面的方法删除再安装php7

查看php版本命令:
#php -v 
如果用#yum remove php这个命令删除php的安装包是删不干净的。使用这个命令以后再用
#php -v
还是会看到有版本信息。。。。。所以必须强制删除

先用这个命令
#rpm -qa|grep php 
查看系统上所有的php的安装包
提示如下
#php-pdo-5.1.6-27.el5_5.3
#php-mysql-5.1.6-27.el5_5.3
#php-xml-5.1.6-27.el5_5.3
#php-cli-5.1.6-27.el5_5.3
#php-common-5.1.6-27.el5_5.3
#php-gd-5.1.6-27.el5_5.3

注意卸载要先卸载没有依赖的
pdo是mysql的依赖项;common是gd的依赖项;
例如:# rpm -e php-pdo-5.1.6-27.el5_5.3
error: Failed dependencies:
php-pdo is needed by (installed) php-mysql-5.1.6-27.el5_5.3.i386

所以正确的卸载顺序是:
# rpm -e php-mysql-5.1.6-27.el5_5.3 
# rpm -e php-pdo-5.1.6-27.el5_5.3 
# rpm -e php-xml-5.1.6-27.el5_5.3 
# rpm -e php-cli-5.1.6-27.el5_5.3 
# rpm -e php-gd-5.1.6-27.el5_5.3 
# rpm -e php-common-5.1.6-27.el5_5.3

再用# php -v

查看版本信息已经没有提示

至此完整的LAMP环境已经搭建完成了,如果大家还有什么问题。  Please contact me

原文地址:https://www.cnblogs.com/xiaoyu666/p/9685600.html