LAMP 以及 Tomcat 服务器环境搭建

开源一族,与众不同

最近频繁使用服务器环境,以前也搭建过,但那些命令以及配置都不能铭记于心,因此今天借此记录下,以便于以后参考。记录主要有:LAMP ( Linux, Apache, Mysql, Php ) 以及 Git, Java, Tomcat, Ftp 等安装命令及配置过程。



前言


作为程序员,对于服务器的部署还是有必要会的,因为这决定了自己独立的高度。目前而言,服务器操作系统性能最好的还是 Linux,不要说自己不会,没有不会的程序员,只有懒惰的程序员。

对于 Linux 系统的学习最容易上手的还是 Ubuntu 桌面版了,因为它有 Windows 版的界面,可以给新手一个过渡阶段,之后再上手到只有命令端的 Linux Server 版就容易多了。

这里给 看云 上的两个学习文档:Linux学习; The Linux Command Line 中文版

LAMP 搭建


Linux 系统环境选择的是 Ubuntu 14.04

对于 Ubuntu 16.04 其内置的下载源和 14.04 的不一致,网上很多教程都不适用,建议大家选择 Ubuntu 14.04 测试。

一、安装 MySQL

安装 mysql 服务器端:

1
sudo apt-get install mysql-server mysql-client

检查 mysql 服务是否开启,看到 LISTEN 就代表开启了:

1
sudo netstat -tap | grep mysql

如果没开启,可用以下的命令 开启/停止/重启/查看状态 :

1
2
3
4
sudo service mysql start/stop/restart/status
# 或者
sudo /etc/init.d/mysql start/stop/restart/status
# service 命令就是在 /etc/init.d 下搜寻命令执行的,两者效果一样的

二、安装 Apache

安装 Apache,现在最新版本为第二版,因此通常用 Apache2

1
sudo apt-get install apache2

启动/停止/重启/状态 命令:

1
sudo service apache2 start/stop/restart/status

配置文件在 /etc/apache2 :

1
2
3
4
5
6
7
8
9
10
apache2.conf			# 主配置文件
ports.conf; # 端口配置文件
sites-available/ # 存储多个站点的目录
sites-enabled/ # 存储已开启的站点的目录( 从 available 中选择的 )
mods-available/ # 存储多个模块的目录
mods-enabled/ # 存储已开启的模块的目录
conf-available/ # 存储多种配置的目录
conf-enabled/ # 存储已经开启的配置的目录
magic;
envvars;

配置站点常常需要修改之处(不一定都需要修改,可按照自己的环境来配置操作):

修改 apache2.conf, 以防出现权限不够:

1
2
3
4
5
6
7
8
cd /etc/apache2
sudo vi apache2.conf
# 主要修改下面这些
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None # 修改为 AllowOverride All
Require all granted
</Directory>

修改主项目地址:/etc/apache2/sites-enable/000-default.conf 如下:

1
2
3
cd /etc/apache2/sites-enable
sudo vi 000-default.conf
# 将DocumentRoot /var/www 修改为 DocumentRoot /var/www/laravel

对于项目根目录权限问题:

1
2
3
4
5
6
7
8
# linux 的 apache 用户组是 www-data
# -R 代表递进目录
sudo chown -R :www-data /var/www/laravel
# mac 下的 Apache 用户组是 _www
sudo chown -R :_www /var/www/laravel
sudo chmod -R 776 /var/www/laravel/storage
sudo chmod -R 776 /var/www/laravel/vendor
sudo chmod -R 776 /var/www/laravel/bootstrap

配置 多个站点,通过不同端口访问:

假设 /var/www下放置了 laravelhtml两个项目,

sites-available 目录下复制 000-default.conf :

1
2
3
4
5
6
cd /etc/apache2/sites-available
sudo cp 000-default.conf htmltest.conf
sudo vi htmltest.conf
# 主要编辑端口号和项目地址
# 端口:<VirtualHost *:80> 可改为 <VirtualHost *:8090>
# 项目地址:DocumentRoot /var/www/laravel 可改为 DocumentRoot /var/www/html

sites-enable 目录下软连接到 sites-available/htmltest.conf :

1
2
3
# 启用刚刚配置的项目
cd /etc/apache2/sites-enable
sudo ln -s ../sites-available/htmltest.conf ./htmltest.conf

增加监听端口如下:

1
2
3
4
cd /etc/apache2
sudo vi ports.conf
# 添加如下
Listen 8090

重启服务器,访问,如果有权限问题按照上面权限方法设置:

1
2
3
4
sudo service apache2 restart
# 两个项目
# 第一个是默认配置的: http://ip
# 第二个是刚刚配置的: http://ip:8090

三、安装 php 以及相关模块

安装 php5 ( Ubuntu 14.04 )

1
sudo apt-get install php5 libapache2-mod-php5

安装 php7 ( Ubuntu 16.04 )

1
sudo apt-get install php7.0 libapache2-mod-php7.0

安装相关模块 ( 包括 php 与 mysql 等数据相关包)( Ubuntu 14.04 ):

1
sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

四、Apache权限

对项目目录执行:

1
sudo chmod 777 /var/projectname

Tomcat以及其他软件配置安装


一、说明

这方面也是很基础的安装配置,包括 jdk, tomcat 配置, git 设置

其他管理软件如 samba, ftp 远程连接软件

[2017.5.3日更新] 我将用到的软件放在了 gitosc 上,因为 gitosc 支持二进制文件,因此可以当网盘用了.大家可以用 git 直接 clone 该项目,就无需再去寻找软件包了。项目地址:https://git.oschina.net/jiyiren/linuxfile

二、JDK8 安装

官网:下载jdk8 或者 git 项目地址:https://git.oschina.net/jiyiren/linuxfile

1
2
# 下载Linux版本到本地
jdk-8u121-linux-x64.tar.gz

将 jdk 上传到服务器,这可以有多种方法,可以用 FileZilla,也可以用 FTP,或者找到一个链接地址,用 wget 在服务器上直接下载。我是使用 FileZilla上传的!

1
2
# 假设我们放在用户当前目录下
~/jdk-8u121-linux-x64.tar.gz

解压到 /opt 目录下或者 /usr/local, 这里我解压到 /opt 下:

1
2
3
4
5
6
7
8
9
10
# 假设 jdk-8u121-linux-x64.tar.gz 在用户~目录下
cd ~
sudo tar -xzvf jdk-8u121-linux-x64.tar.gz -C /opt/

# zip 格式的则用如下命令
sudo unzip jdk.zip -d /opt/

# 修改解压后的目录名称
cd /opt
mv jdk1.8.0_121 jdk8

添加环境变量:

1
2
3
4
5
6
7
8
9
cd ~
vi .bashrc
# 添加下面
export JAVA_HOME=/opt/jdk8
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
source .bashrc # 环境变量生效
java -version # 看到版本信息即可

三、Tomcat安装

下载 Tomcat, 这里可以像上面安装 jdk 一样,先去 官网下载到本地再上传到服务器;当然也可以直接用前面提到的用 wget 方式下载。

大家在点击官网下载时会获得一个下载链接,这是只要在服务器上用 wget 下载就行了(注下载链接可能会失效的,因此建议通过 git 项目下载这些文件 https://git.oschina.net/jiyiren/linuxfile ):

1
2
3
cd ~
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.11/bin/apache-tomcat-8.5.11.tar.gz
# 如果提示没有wget,则按照提示安装wget即可

添加环境变量:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 解压文件到/opt/
cd ~
sudo tar -xzvf apache-tomcat-8.5.11.tar.gz -C /opt

# 修改名称,这个随便自己的,我感觉文件名太长了
cd /opt
mv apache-tomcat-8.5.11 tomcat8

# 添加环境变量
cd ~
vi .bashrc
# 添加如下行
export PATH=/opt/tomcat8/bin:$PATH

# 使环境变量立即生效
source .bashrc

# 检测是否设置成功
which startup.sh
# 如果输出如下就可以了
/opt/tomcat8/bin/startup.sh

开启/关闭 tomcat 服务器

1
2
3
4
5
6
# 开启或关闭
startup.sh/shutdown.sh
# 检查是否开启,用浏览器访问 ip:8080 出现 Tomcat 页面就可以了
# 如果发现 shutdown.sh 出错,说明 tomcat 没启动成功,需要查看 tomcat 进程,并结束
ps -ef|grep tomcat
kill -9 [pid]

配置项目根目录,Tomcat 项目目录默认在 webapps 目录下,多个项目只要放在里面即可,访问的时候:ip:端口/projecName/ 即可访问项目根目录。( 默认端口是 8080 )

但是如果想将我们的项目放在根目录呢?一种就是将 webapps/ROOT 目录覆盖,另外一种就是修改配置文件,这里介绍修改配置文件 server.xml 方法。

1
2
3
4
5
6
7
# 到配置目录修改配置文件server.xml
cd /opt/tomcat8/conf
vi server.xml

# 在含有 appBase="webapps" 的 <host></host> 之间添加如下
<Context path="" docBase="/opt/tomcat8/webapps/htmltest/" debug="0"/>
# 如上,根目录设置在 /opt/tomcat8/webapps/htmltest/

四、git 安装

安装

1
2
sudo apt-get install git
git --version

通常经过上面安装的 git 版本是 1.9.1 版本,现在已经到 2.11 了,旧版本有不支持的命令,因此要装比较新的版本

1
2
3
4
5
6
7
# 先更新下源,不然会有不识别提示
sudo apt-get update
sudo apt-add-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
git --version
# 此时将显示更高级的或者最新的版本

五、ftp安装

这里安装 vsftpd :

1
2
3
4
5
6
# 安装,并检测
sudo apt-get install vsftpd
vsftpd -version

# 新建一个文件夹用于FTP的工作目录
mkdir /home/ftp

新建 FTP 用户并设置密码以及工作目录:

1
2
3
sudo useradd -d /home/ftp -s /bin/bash jiyiren
# -d 代表 ftp 的主目录
# jiyiren为 你为该 ftp 创建的用户名

为新用户设置密码:

1
2
passwd jiyiren
# 可用cat etc/passwd 可以查看当前系统用户

修改 vsftpd 配置文件:

1
2
3
4
5
6
7
8
9
10
sudo vi /etc/vsftpd.conf

# 修改如下两处
seccomp_sandbox=NO
local_enable=YES

# 并添加如下行到结尾
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users

添加允许用户列表:

1
2
3
4
5
6
7
sudo vi /etc/allowed_users

# 添加以下用户名
jiyiren
root

# 另外可查看 /etc/ftpusers 是否有用户名,无则直接退出,这是禁止用户列表

开启/关闭/重启 ftp 服务

1
sudo service vsftpd start/stop/restart

登录,Windows 可以用 WinSCP 软件或者前面提到的 FileZilla 软件,而 Linux 或者 Unix ( mac ) 可以使用如下命令:

1
2
ftp jiyiren@ip
# 输入密码即可

参考

赞赏一下
0%