一、目标

创建服务器环境,主要包括:
Apache2.4.7 server
PHP 5.5.9
Mysql 5.5.49
扩展:
Memcache
Mcrypt

二、准备工作

1、服务器系统版本 Ubuntu server 14.04 amd64

2、更新源:

apt-get update

3、SSH相关工具安装:

sudo apt-get install openssh-server openssh-client

修改ssh配置:

vim /etc/ssh/ssh_config

PasswordAuthentication no #把前面的注释#取消,yes修改为no,这样就禁用所有账号通过密码验证登录

安装 rz sz zip 方便代码上传:

apt-get install lrzsz unzip

三、环境工具安装

1、amp最小化安装:

sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server

中途安装mysql时提示设置root管理员密码,2次输入后继续。

安装好后自行测试是否成功。

配置文件相关目录:

apache:/etc/apache2

php5:/etc/php5

mysql:/etc/mysql

最小化安装php以mod方式运行,apache以prefork方式工作,可配置优化相关参数。

可修改apache2默认目录 /var/www/html

修改配置文件:

sudo vim /etc/apache2/apache2.conf

重启apache 服务:

sudo /etc/init.d/apache2 restart

2、开启mysql远程访问

修改配置文件/etc/mysql/my.cnf 注释 bind-ip 127.0.0.1

检查防火墙 3306端口是否开启

Mysql远程授权:

#GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;
#flush privileges;

3、安装memcached

sudo apt-get install memcached

安装完Memcache服务端以后,我们需要启动该服务

sudo memcached -d -m  -p  -u root

接下来安装Memcache客户端:

sudo apt-get install php5-memcache

重启apache服务后可测试 memcache

4、安装其它php扩展

sudo apt-get install php5

然后按tab键 可以看到php扩展

sudo apt-get install php5-gd php5-curl

安装mcrypt 扩展:

# sudo apt-get install php5-mcrypt
# cd /etc/php5/apache2/conf.d/
# sudo ln -s ../../mods-available/mcrypt.ini ./-mcrypt.ini
# sudo service apache2 restart

四、防火墙设置

//查看防火墙设置
sudo ufw status //打开防火墙
sudo ufw enable //关闭防火墙
sudo ufw disable //查看防火墙规则 默认关闭所有端口
sudo ufw status verbose //开启相应端口
sudo ufw allow
sudo ufw allow
sudo ufw allow

五、Mysql备份脚本

mysql备份设置:

1,每天4点备份mysql数据;

2,为节省空间,删除超过3个月的所有备份数据;

3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;

#创建shell文件 backup_mysql.sh:

DB_PASS="password"
mysqldump -uroot -p$DB_PASS DBNAME > /root/data/mysqlbak/`date +%Y%m%d`.sql
find /root/data/mysqlbak/ -mtime + -name '*[1-9].sql' -exec rm -rf {} \;
find /root/data/mysqlbak/ -mtime + -name '*.sql' -exec rm -rf {} \;

创建定时任务:

crontab –e
* * * /data/dbdata/backup_mysql.sh

六. Apache日志配置

每天生成一个日志文件:

CustomLog "|/usr/bin/rotatelogs -l ${APACHE_LOG_DIR}/access-%Y-%m-%d.log 86400" common

ubuntu 14.04 lts LAMP配置的更多相关文章

  1. Ubuntu 14.04 LTS 安装和配置Bochs

    Ubuntu 14.04 LTS 安装和配置Bochs       系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...

  2. Ubuntu 14.04 LTS 安装Docker

    Docker官方是有很详细的安装文档(https://docs.docker.com/engine/installation/ubuntulinux/),这里做了一个Ubuntu 14.04 LTS中 ...

  3. 【转】基于Ubuntu 14.04 LTS编译Android4.4.2源代码

    原文网址:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码       ...

  4. VM Depot 中国上的 Bitnami 镜像更新至 Ubuntu 14.04 LTS

     发布于 2014-08-13 作者 陈 忠岳 随着越来越多中国本地镜像源源不断地加入,  VM Depot 中国站点也在日益壮大(http://msopentech.com/?p=865871) ...

  5. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  6. ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP)

    (Linux Operating System,Apache Web Server,MySQL database,PHP) 首先,一个三行命令搞定的方法: sudo apt-get update su ...

  7. Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone

    本文介绍如何在Ubuntu 14.04 LTS 上安装Juno版的Keystone, 我们采用的是手动安装的方式, 同时仅针对OpenStack的身份与访问管理系统Keystone. 事实上OpenS ...

  8. 基于Ubuntu 14.04 LTS编译Android4.4.2源码

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS ...

  9. 基于Ubuntu 14.04 LTS编译Android4.4.2源代码

    转载自:雨水:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码     ...

随机推荐

  1. 【[HNOI2005]狡猾的商人】

    加权并查集 由于给出信息的是一些一个区间的和为多少,我们显然并不好处理出每一个点应该为多少,这我们根本做不到 但是我们想一下,如果要求一个区间\([l,r]\)的和,那么我们是不是可以利用前缀和\(p ...

  2. DataGrid添加滚动条

    DataGrid中是没有滚动条的,要添加滚动条需要借助<div>层 <div style="overflow:auto;width:95%;height:95%" ...

  3. Coursera机器学习基石 第2讲:感知器

    第一讲中我们学习了一个机器学习系统的完整框架,包含以下3部分:训练集.假设集.学习算法 一个机器学习系统的工作原理是:学习算法根据训练集,从假设集合H中选择一个最好的假设g,使得g与目标函数f尽可能低 ...

  4. socket相关的开机初始化分析

    针对内核3.9 系统开启时,会使用init/main.c,然后再里面调用kernel_init(),在里面会再调用do_basic_setup(),调用do_initcalls(),调用do_one_ ...

  5. 【题解】洛谷P3952 [NOIP2017TG] 时间复杂度(模拟)

    题目来源:洛谷P3952 思路 纯模拟没啥可说的了 果然好复杂 参考了你谷一个40行代码 代码 #include<iostream> #include<cstdio> #inc ...

  6. windows安装的mysql中文乱码的坑

    本机装的mysql为5.6的,从代码执行的中文inert语句总是显示问号,然后在中文查询是都会报问题 今天终于解决了! 问题解决方法为: 找到my.ini文件在文件中加入 [client]defaul ...

  7. Unity 游戏框架搭建 (二十二) 简易引用计数器

    引用计数是一个很好用的技术概念,不要被这个名字吓到了.首先来讲讲引用计数是干嘛的. 引用计数使用场景 有一间黑色的屋子,里边有一盏灯.当第一个人进屋的时候灯会打开,之后的人进来则不用再次打开了,因为已 ...

  8. oracle计算某个表中数据所占表空间的比例

    要求计算某个表所占表空间的大小,网上查了些资料用到了oracle的3个视图.具体sql如下 select segment_name as tablename, round(bytes / (selec ...

  9. iOS开发学习资源

    最近想写点关于iOS开发的总结和心得.虽然网上资源一大堆,质量参差不齐,还是推荐一点干货吧! https://www.objc.io/issues/  这个网站的文章质量很高,很多干货,可惜今年已经停 ...

  10. 分享一个在js中判断数据是undefined,NaN,null,的技巧

    教大家如何在js中判断一个值是否是undefined,null,NaN,以及如何单独判断 平常开发过程中大家可能遇到一种问题,就是取页面某个值的时候获取不到这个var就是undefined了,如果是数 ...