zoukankan      html  css  js  c++  java
  • ubuntu下安装Apache + PHP + Mysql

    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

  • 相关阅读:
    【Mybatis】 JdbcType 与 JavaType对应关系
    【入门知识】虚拟机化概念
    【Ubuntu 16】安装deb
    【Ubuntu 16】安装eclipse
    【刷题】HDU 4405 Aeroplane chess
    【刷题】BZOJ 3998 [TJOI2015]弦论
    【刷题】SPOJ 1812 LCS2
    【刷题】BZOJ 2882 工艺
    【刷题】UOJ #171 【WC2016】挑战NPC
    【刷题】UOJ #79 一般图最大匹配
  • 原文地址:https://www.cnblogs.com/philipding/p/5618949.html
Copyright © 2011-2022 走看看