ubuntu下安装Apache + PHP + Mysql
首次登录
在本地设备中打开终端,执行ssh命令,登陆服务器。
ssh root@139.196.222.22
输入根用户密码,按回车确认。升级软件
为了确保操作系统中的默认的软件安装了最新的更新和补丁,我们需要升级系统软件。在终端中输入:
apt-get update
apt-get upgrade安装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
配置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
非根用户
我们需要创建非根用户以加强服务器的安全性。我们应该尽量让别人不能使用根用户访问服务器,因为根用户在服务器中拥有超级权限,可以执行任何命令。
#创建非根用户
adduser deploy
#把deploy用户加入sudo用户组,让deploy用户拥有sudo权限,这样通过密码认证后可以执行需要特殊权限的#任务。
usermod –a –G sudo deploy
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
禁用密码,禁止根用户登录
在文本编辑器中打开/etc/ssh/sshd_config文件,找到PermitRootLogin设置,将其值改为no。找PasswordAuthentication设置,将其值改为no。在终端窗口输入下述命令使改动生效:
sudo service ssh restart
最新文章
- SDL 截图、录像、录像播放
- 关于oracle中创建新表时将我们要用的表的结构和数据都复制过去
- ServiceStack.Text 更快的序列化
- dynamic_cast用法
- VBA开发经验总结之二:灵活运用工作表属性
- bt5全称是Back Track five,是继BT3,BT4之后的最新版,这是一个linux环境的便携系统,可以放到U盘或者硬盘中启动,对本身硬盘没有影响,无需在本地安装。
- 怪兽z主机 驱动集
- page分页
- JSONP跨域的原理解析[转]
- 【转】sublime text 3 显示空格和Tab
- 机器学习中应用到的各种距离介绍(附上Matlab代码)
- windows平台 python生成 pyd文件
- 手动搭建Docker本地私有镜像仓库
- MS SQL Server 增删改查
- Docker permission denied while trying to connect to the Docker daemon socket
- Software development skills for data scientists
- SDK Manager的使用
- JAVA程序员常用英语
- 排序算法(3)--Insert Sorting--插入排序[3]--Shell Sort--希尔排序
- 20172325 2018-2019-2 《Java程序设计》第三周学习总结
热门文章
- mysql: see all open connections to a given database?
- Python语言and-or的用法
- java 内部类 *** 最爱那水货
- PHP内核探索之变量(2)-理解引用
- Bash中的任务(job)管理
- Uploadify 上传插件引起Chrome崩溃解决方法
- js的querySelector跟querySelectorAll
- display---我的第一篇博客
- 如何理解javascript closure ?
- ClockPicker – 时钟风格 Bootstrap 时间选择器