contos LINUX搭建LAMP笔记
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为例

看到此图片说明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

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
contos LINUX搭建LAMP笔记的更多相关文章
- linux搭建LAMP
先简要概述下本文要点:(操作系统采用CentOS6.5 x64) 1.分别安装搭建lamp服务环境: 2.采用lamp一键安装包搭建环境: 3.在lamp环境中初步搭建起一个网站: 一. 分别安装搭建 ...
- Linux搭建lamp(Apache+PHP+Mysql环境)centos7.2版详细教程
我们更多的网站服务器是选择了Linux系统,这里建议你选择centos,这也是阿里云ecs推荐的系统,在服务器上比较推荐centos,特别对于新手,首选CentOS,并不是centos比Debian和 ...
- linux 搭建lamp环境
sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql sudo chmod 777 /var/w ...
- Linux(Centos7)搭建LAMP(Apache+PHP+Mysql环境)
目录 Linux搭建LAMP(Apache+PHP+Mysql环境)Centos7 一. 检查系统环境 1.确认centos版本 2.检查是否安装过apache 3.检查是否安装过Mysql 4.清理 ...
- Linux手动搭建LAMP环境
当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...
- 图文详解linux如何搭建lamp服务环境
企业网站建设必然离不开服务器运维,一个稳定高效的服务器环境是保证网站正常运行的重要前提.本文小编将会详细讲解Linux系统上如何搭建配置高效的lamp服务环境,并在lamp环境中搭建起企业自己的网站. ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- linux下LAMP环境搭建
++++++++++++++++++++++++++++++++++++++++++++++ linux下LAMP环境搭建 ++++++++++++++++++++++++++++++++++++++ ...
- linux之lamp环境的搭建
linux之lamp环境的搭建 1.安装lamp环境的安装工具 我们的lamp环境都是采用源码包进行编译安装: 编译安装需要工具gcc gcc-c++. 建议在线联网安装:yum -install ...
随机推荐
- Should You Build Your Own Backtester?
By Michael Halls-Moore on August 2nd, 2016 This post relates to a talk I gave in April at QuantCon 2 ...
- leetcode 去除单链表倒数第k个节点
Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l ...
- python 通过文件路径获取文件hash值
import hashlib import os,sys def CalcSha1(filepath): with open(filepath,'rb') as f: sha1obj = hashli ...
- Python下的正则表达式原理和优化笔记
摘要: 本文旨在总结一些编写表达式的技巧和原理.鉴于介绍python中re模块的使用方法的文章太多.所以本文在基础方面都是略过,而在回溯原理和一些技巧方面记录一点点学习总结. 目录:[ - ] 基础规 ...
- git学习------>从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?
最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年. 因此导致虽然项目迁移过来了,但 ...
- 【我的Android进阶之旅】Android 如何防止 so库文件被未知应用盗用?
首先,关于Android 如何防止 so库文件被未知应用盗用这个话题并不是我擅长的,只是在开发中遇到了这个问题,因此在这里总结一下. 故事回到几个月之前,当时公司和第三方音乐平台合作了一款内置于手表系 ...
- lnmp1.4环境下thinkphp3.2配置pathinfo模式
1.打开php.ini 通常该文件在 /usr/local/php/etc/php.ini vi /usr/local/php/etc/php.ini 找到 cgi.fix_pathinfo,默认为0 ...
- Selenium Page Object(PO)设计模式
Webdriver UI自动化测试火了好几年了,具体怎么设计自动化测试测试工程,组织测试用例完全凭借着自己的经验和习惯. 最近忽然听说了Page Object(简称PO)火了起来,也有面试的时候被问到 ...
- Delphi APP 開發入門(八)SQLite資料庫
Delphi APP 開發入門(八)SQLite資料庫 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次 ...
- WEB前端研发工程师编程能力成长之路(1)
[背景] 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧: 如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧: 如果你是四五年的前端开发高手,没有难题能难得住 ...