1. 首次登录
    在本地设备中打开终端,执行ssh命令,登陆服务器。
    ssh root@139.196.222.22
    输入根用户密码,按回车确认。

  2. 升级软件
    为了确保操作系统中的默认的软件安装了最新的更新和补丁,我们需要升级系统软件。在终端中输入:
    apt-get update
    apt-get upgrade

  3. 安装PHP
    #确保操作系统中有add-apt-repository,这个命令会安装包含add-apt-repository二进制文件的software-properties-common包。现在可以添加自定义的PPA了。
    sudo apt-get install software-properties-common

    #添加ppa:ondrej/php5-5.6 PPA
    sudo add-apt-repository ppa:ondrej/php5-5.6

    #ubuntu会缓存所有可用的软件,因此添加新软件源后,要刷新这个缓存
    sudo apt-get update

    #安装PHP
    sudo apt-get install php5

    #安装apache2
    sudo apt-get install apache2

    #libapache2-mod-php5目的是为了让apache支持php5
    sudo apt-get install libapache2-mod-php5

    #可选,开启GD库支持, 例如wordpress上传图片需要GD库.
    sudo apt-get install php5-gd

    #enable rewrite module
    sudo a2enmod rewrite

    #重启apache2
    sudo service apache2 restart

  4. 配置Apache (仅开启HTTPS)

    • 将www.test.com.crt证书复制到/etc/ssl/certs/文件夹下

    • 将密钥www.test.com.key复制到/etc/ssl/private/文件夹下

    • 将root_bundle.crt复制到/etc/ssl/certs/文件夹下

    #在sites-available文件夹下创建test-ssl.config文件
    cd /etc/apache2/sites-available
    touch test-ssl.config

    复制下述内容到test-ssl.config文件中。
    <VirtualHost *:443>
    ServerAdmin www.test.com
    ServerName www.test.com
    DocumentRoot /var/www/test
    ErrorLog /var/www/logs/error.log
    CustomLog /var/www/logs/access.log
    combined
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLHonorCipherOrder on
    SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"
    SSLCertificateFile /etc/ssl/certs/www.test.com.crt
    SSLCertificateKeyFile /etc/ssl/private/www.test.com.key
    SSLCertificateChainFile /etc/ssl/certs/root_bundle.crt
    </VirtualHost>

    如果只是开启HTTP,可以将文件命名为test.config,端口改成80或其他需要的端口,config文件中不需要SSLEngine on以下的设置。

    #重启apache2
    sudo service apache2 restart

  5. 非根用户
    我们需要创建非根用户以加强服务器的安全性。我们应该尽量让别人不能使用根用户访问服务器,因为根用户在服务器中拥有超级权限,可以执行任何命令。
    #创建非根用户
    adduser deploy
    #把deploy用户加入sudo用户组,让deploy用户拥有sudo权限,这样通过密码认证后可以执行需要特殊权限的#任务。
    usermod –a –G sudo deploy

  6. SSH密钥对认证
    在本地设备执行可以执行下述命令,以非根用户登陆服务器:
    ssh deploy@139.196.222.22
    这个命令会要求你输入deploy用户的密码,然后登陆服务器。由于密码认证会受到暴力攻击,使用ssh登陆服务器应该使用ssh密钥对认证。
    在本地设备中执行下述命令生成~/.ssh/id_rsa.pub(公钥)和~/.ssh/id_rsa(私钥)。
    ssh-keygen
    私钥保存在本地,公钥复制到服务器上:
    #注意,最后的冒号一定要有
    scp ~/.ssh/id_rsa.pub deploy@139.196.222.22:
    登录服务器,确保~/.ssh文件夹存在,如果不存在,执行下述命令创建~/.ssh文件夹。
    mkdir ~/.ssh
    #创建authorized_keys文件
    touch ~/.ssh/authorized_keys
    #该文件的内容是一系列登录这台远程服务器的公钥,执行下述命令,把刚上传的公钥添加到该文件
    cat ~/id_rsa.pub>> ~/.ssh/authorized_keys

  7. 禁用密码,禁止根用户登录
    在文本编辑器中打开/etc/ssh/sshd_config文件,找到PermitRootLogin设置,将其值改为no。找PasswordAuthentication设置,将其值改为no。在终端窗口输入下述命令使改动生效:
    sudo service ssh restart

ubuntu下安装Apache + PHP + Mysql的更多相关文章

  1. ubuntu 下安装 apache php mysql

    ubuntu 安装 apache+php+mysql1.打开终端,输入“sudo apt-get install apache2”,回车;(安装apache2.0或2.x新版本,系统会自动查找新的版本 ...

  2. ubuntu下安装Apache+PHP+Mysql(转)

    转载自:http://www.comflag.com/2011/05/01/apache-web.htm 步骤一,安装apache2 1 sudo apt-get install apache2 安装 ...

  3. zhuan:ubuntu下安装Apache2+php+Mysql

    from: http://www.cnblogs.com/lynch_world/archive/2012/01/06/2314717.html ubuntu下安装Apache+PHP+Mysql 转 ...

  4. Ubuntu下关闭apache和mysql的开机启动

    Ubuntu下关闭apache和mysql的开机启动 sudo apt-get install sysv-rc-conf sudo sysv-rc-conf sudo vi /etc/init/mys ...

  5. ubuntu下的apache+php+mysql的安装

    平时我都时在windows下搭配apache+php+mysql环境的,只不过后来听别人说在linux下搭配apache+php+mysql更受欢迎,而且一般公司也是用这样的搭配,所以今天在试着在ub ...

  6. 在Ubuntu下安装Apache

    在Ubuntu下安装软件其实非常方便,Ubuntu提供了apt-get工具,可以使用该工具直接下载安装软件. 在Linux里,系统最高权限账户为root账户,而默认登录的账户并非root账户,例如不具 ...

  7. ubuntu12.04下安装Apache+PHP+MySQL

    一.Apache1.安装apache2: sudo apt-get install apache2 2.重启apache2: sudo /etc/init.d/apache2 restart 3.在浏 ...

  8. ubuntu下安装jdk,tomcat,mysql,ftp,telnet,svn

    需求分析:自己弄了个小网站,想放到云服务器上,同时把自己积累的代码也放上去,服务器上的文件可以简单的在windows上查看,也可以方便的通过windows连接linux服务器. 解决:运行网站要用到j ...

  9. Ubuntu下的Apache、Mysql、PHP环境搭建

    由于刚学习Linux,选择了界面比较友好的Ubuntu进行研究.命令行+可视化对于初学者来说组合还是比较不错的,图形界面作为命令行的一个过渡能比较直观的看到效果.在应用中学习是一个比较好的办法,我就是 ...

随机推荐

  1. Visual Studio 技能GET

    常用快捷键 自动生成头部注释 代码片段 NuGet Team Foundation 常用的VS快捷键 查看与设置快捷键 一般在菜单里面我们直接就可以看到一些功能的快捷键.另外,可以依次通过 菜单栏-工 ...

  2. C#编程总结(八)数字签名

    C#编程总结(八)数字签名 在日常工作中,有很多文件需要领导审阅.签名和盖章,由于公司业务开展,跨地域.跨国业务也日益普遍,领导签名盖章变得很麻烦,开始的时候人们通过邮寄.传真等方式来解决,但是耗费时 ...

  3. 孙鑫MFC学习笔记18:ActiveX

    18 1.容器和服务器程序 2.InvalidateControl重绘控件 3. 4.GetBackColor获取背景色 5.GetForeColor获取前景色 6.TranslateColor进行颜 ...

  4. iOS取得AddressBook联系人信息

    新建一个CContact类用于存放联系人信息,下面是该类的代码: CContact.h代码: 01 #import <Foundation/Foundation.h> 02   03   ...

  5. spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)转

    关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用 ...

  6. Java集合框架之List接口

    在上一篇Java集合框架之Collection接口中我们知道List接口是Collection接口的子接口,List接口对Collection进行了简单的扩充,List接口中的元素的特点为有序,可重复 ...

  7. BZOJ 2467 解题报告

    对于一个合格的程序员来说,掌握一定的数学知识是非常必要的,所以这次就开个数学专题玩玩. 不多说啥,上题目,我们直接分析题目! 首先ORZ stonepage神犇,一眼就看出我把快速幂写成快速乘了…… ...

  8. 【FOL】第二周

    一直在忙其他事情,停了好久了.终于又可以开始做点东西了. 这周主要工作: 1.整理客户端代码,加入网络模块:fol.client.net. 2.写了个简单的版本服务端程序. 3.初步完成了自动更新功能 ...

  9. InfluxDB学习之InfluxDB的基本操作

    InfluxDB提供类SQL语法,如果熟悉SQL的话会非常容易上手.本文就为大家介绍一下InfluxDB的基本操作.     InfluxDB提供类SQL语法,如果熟悉SQL的话会非常容易上手. 本文 ...

  10. Hibernate(九)__OpenSessionInView解决懒加载问题

    什么是OpenSessionInView? 在hibernate中使用load方法时,并未把数据真正获取时就关闭了session,当我们真正想获取数据时会迫使load加载数据,而此时session已关 ...