contos LAMP环境搭建

时间:2022-05-20 02:02:36

LINUX搭建LAMP笔记

.YUM:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

1.网络环境检测

centos7.2的网络配置:

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

参考以下网络配置:

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=a90b6241-89da-450a-9742-d5b186a17084
DEVICE=eno16777736
ONBOOT=yes
IPADDR0=192.168.0.228
PREFIXO0=24
GATEWAY0=192.168.0.1
DNS1=192.168.0.1

配置完毕后,使用 systemctl restart network.service  重启网络,然后 ping  www.baidu.com 测试是否网络连接通畅。

2.安装LAMP

1.安装apache

1.更新yum 源(包管理)
`yum update`
2.安装:apache
  yum install -y httpd
  运行:/bin/systemctl start httpd.service

 执行完运行命令之后是看不到效果的,这时候再输入查看
 apache服务状态命令来查看服务是否已经启动:

    systemctl stop httpd.service #停止apache        或者是:service httpd stop

              systemctl restart httpd.service #重启apache     或者是:service httpd restart

              systemctl enable httpd.service #设置apache开机启动      或者是:service httpd enable
    
 测试apache服务是否正常开启,在我们本地浏览器里输入云服务 器的公网ip,我这里以118.25.14.210为例

 

contos LAMP环境搭建
enter description here


看到此图片说明apache安装成功

 

2.安装mysql

1.rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
  通过这个命令查看该系统中是否已经安装了mysql,

可以看到我的系统比较干净,没有安装任何版本的mysql,如果你系统有安装,那可以选择进行卸载

2. rpm -e mysql  // 普通删除模式

3. rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的 其它文件,则用该命令可以对其进行强力删除


4.安装
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum install mysql-community-server
    成功安装之后重启mysql服务

   
    初次安装mysql是root账户是没有密码的
    设置密码的方法:

    输入mysql -uroot进入mysql数据库
      mysql> set password for ‘root’@‘localhost’ = password('newpasswd');
      mysql> quit   

    远程授权连接mysql
					所有权限
    mysql>grant all privileges on *.* to root@"%" identified by "123456" with grant option;
	//只读权限
			grant select on *.* to root@"%" identified by "123456";
    mysql>FLUSH PRIVILEGES; 刷新配置
	

提示:Linux软件编译安装都需要依赖两个安装包 gcc gcc-c++ make 可使用 yum -y install gcc gcc-c++ 在线安装。

3.安装php

卸载php
rpm -qa | grep php
按依赖顺序进行删除
rpm -e php-fpm-5.3.3-22.el6.x86_64

rpm-e php-pdo-5.3.3-22.el6.x86_64

rpm -e php-pear-1.9.4-4.el6.noarch

rpm-e php-cli-5.3.3-22.el6.x86_64

rpm -e php-5.3.3-22.el6.x86_64

rpm-e php-xml-5.3.3-22.el6.x86_64

rpm -e php-gd-5.3.3-22.el6.x86_64

rpm-e php-common-5.3.3-22.el6.x86_64


1.通过安装包方式安装
下载需要的php 版本  http://www.php.net/downloads.php(.tar.gz)
上传到 /usr/local/src 目录

解压 文件  tar_zxvf   php-7.0.30.tar.gz
编译安装
make && make intsall

2.
通过yum 源安装
yum -y install php 安装(5,4版本)

安装php7

首先要更新yum源,不然肯定是老版本,一般都在5.6及以下,但是php7都出来好久了,性能提升50%以上!
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装php7及扩展
yum install php70w
yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel


安装其他扩展
	
譬如你要加装xml,那么可以直接,别怀疑就是这么简单:

yum install php70w-xml



php -v

 

contos LAMP环境搭建
enter description here

 

php -m 查看所有

4.虚礼目录配置

1.设置系统自动检测index.php文件
编辑httpd的配置文件(/etc/httpd/conf/httpd.conf)

2.在/etc/httpd/conf/conf.d 下新建一个.conf格式文件
最好不要直接修改httd.conf 
写入解析到的目录
<VirtualHost *:80>  
  DocumentRoot 目录地址  
  ServerName 域名  
</VirtualHost> 

重启httpd (service httpd restart)

3.开启路由重写

4.修改/etc/httpd/conf/httpd.conf
<Directory />
    AllowOverride none
    Require all denied
</Directory>
改为
<Directory />
    AllowOverride all
    Require all denied
</Directory>

重启httpd

5.搭建git仓库

1.安装git
yum install -y git

2.搭建git仓库

创建一个git用户组和用户,用来运行git服务:
 groupadd git
 useradd git -g git
 passwd git  #参数是用户名
 最好切换到git用户 不然后面新建的git仓库都要改权限 烦烦烦!!

$ su - git 
 
 
 如何生成密钥:http://blog.csdn.net/permanent_2008/article/details/73839384

备注:下边虚线内容为多余内容,只是留着存档而已。于本教程没有关系

添加证书之前,还要做这么一步:

Git服务器打开RSA认证 。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,

即:

1.RSAAuthentication yes

2.PubkeyAuthentication yes

3.AuthorizedKeysFile .ssh/authorized_keys

这里我们可以看到公钥存放在.ssh/authorized_keys文件中。

所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:

Zhu@XXX/E/testgit/8.34 $ git clone git@192.168.8.34:/data/git/learngit.git Cloning into 'learngit'... warning: You appear to have cloned an empty repository. Checking connectivity... done.

===============================

收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
$ cd /home/git/
$ mkdir .ssh #新建文件夹
$ chmod 700 .ssh 
$ touch .ssh/authorized_keys  #新建文件
$ chmod 600 .ssh/authorized_keys

初始化Git仓库

$ cd /home/git
$ git init --bare test.git
Initialized empty Git repository in /home/git/test.git/

本地克隆仓库

$ git clone git@your-ip:test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
your-ip 为您 Git 所在服务器 ip 

代码自动部署

cd /home/git/test.git
cd hooks
//这里我们创建post-receive文件
#!/bin/sh
unset GIT_DIR  
DeployPath="/alidata/www/project"
LogPath="/alidata/gitroot/project.git/hooks"  
   
echo -e "\n=================  `date +"%Y-%m-%d %H:%M:%S"`  ===============\n" >> $LogPath/gitsync.log 2>&1 
cd $DeployPath  
   
#git stash  
#先拉取再合并
git pull origin master  >> $LogPath/gitsync.log 2>&1 

#强制与远程服务器同步,不与本地合并,只能通过提交的客户端提交的方式修改代码。
#git fetch --all  
#git reset --hard origin/master  
   
#time=`date`  
#echo "web server pull at webserver at time: $time."  
echo "================================================"  >> $LogPath/gitsync.log 2>&1 


更改post-receive的所有者和权限
chmod -R 774 post-receive
chown phper:git post-receive

最后在www下
mkdir project
chown -R phper:git project
chmod -R 774 project
cd /alidata/www
git clone /gitroot/project.git

好了git的同步就弄好了

如果同步用不了,打开hooks/gitsync.log查看错误日志

可能预见的错误

1、fatal: /usr/libexec/git-core/git-pull cannot be used without a working tree.

同步的项目文件夹没有建立---------------解决办法:在www下建立project项目文件夹

2、fatal: Not a git repository (or any of the parent directories): .git

项目文件里没有git初始化------------------解决办法:在www路径下执行git clone /alidata/gitroot/project.git

3、error: cannot open .git/FETCH_HEAD: Permission denied

git在项目目录没有写入权限---------------解决办法:修改所有者以及权限 chown -R phper:git project / chmod -R 774 project

4、每次pull push的时候还是要输入密码
image.png

秘钥没有起作用-----------------------------解决办法:/var/log/secure查看一下日志,是否是.ssh的权限问题 
chmod 700 .ssh 
chmod 600 .ssh/authorized_keys

搭建SVN
https://blog.csdn.net/baidu_30000217/article/details/51396016?locationNum=1