关于Debian那些事

Debian 版本 (记录于2019-10-12)

Debian 10 (Buster) — 当前的稳定版(stable)

Debian 9 (Stretch) — 旧的稳定版(oldstable)

Debian 8 (Jessie) — 更旧的稳定版(oldoldstable)

Debian 7 (Wheezy) — 被淘汰的稳定版

Debian 6 (Squeeze) — 被淘汰的稳定版

… ( 古老版本移步维基了解: https://zh.wikipedia.org/wiki/Debian )

官方FTP一般存放着未被淘汰的资源: http://ftp.debian.org/debian/

而被淘汰的版本会归档到: http://archive.debian.org/debian-archive/

发行版本目录: https://www.debian.org/releases/

选择 Debian 8 (Jessie)

本文选择了 Debian 8.11 amd64 来记录。

官网提供的ios镜像有很多张,只是安装系统的话,用 1 就行了,后面的都是可选的软件包,可用于离线安装软件。

配置网络 (Hyper-V)

配置两张网卡,一张用于外网(eth0),一张用于内网(eth1)。

eth0 配置成动态ip,dhcp自动获取ip,通过主机访问互联网。

eht1 配置成静态ip,同一网关,主机与虚拟机能互通。

网络配置文件: /etc/network/interfaces

auto lo                   # 开机自动挂载 lo 网卡
iface lo inet loopback    # 配置 lo 网卡,回环

auto eth0                 # 开机自动挂载 eth0 网卡
iface eth0 inet dhcp      # 配置 eth0 网卡,dhcp

auto eth1                 # 开机自动挂载 eth1 网卡
iface eth1 inet static    # 配置 eth1 网卡,static表示使用静态ip,dhcp表示使用动态ip
address 10.10.10.100      # 设置ip地址(静态网络需要手动配置下面的参数)
netmask 255.255.255.0     # 设置子网掩码
gateway 10.10.10.1        # 设置网关
配置 apt 源

配置为中科大(USTC)的镜像源 – http://mirrors.ustc.edu.cn/

apt 源配置文件: /etc/apt/sources.list

deb http://mirrors.ustc.edu.cn/debian jessie main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian jessie main contrib non-free
deb http://mirrors.ustc.edu.cn/debian jessie-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian jessie-updates main contrib non-free

这里注释源码镜像以提高 apt update 速度

最后执行 sudo apt update 更新索引

安装常用软件
# 安装 ssh 
sudo apt intall ssh
# 安装 vim
sudo apt install vim
# 安装 git
sudo apt install git
# 安装 unzip
sudo apt install unzip
# 安装 curl
sudo apt install curl
# 安装 gcc
sudo apt install gcc
# 安装net-tools 当 ifconfig 命令找不到
sudo apt-get install net-tools

ssh 允许 root 用户登陆:修改 /etc/ssh/sshd_config 中的 “PermitRootLogin” 为 “yes”。

修改时区与系统时间

时区配置文件:/etc/timezone

修改为 Asia/Shanghai

替换时区文件的软链接:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 调整系统时间
date -s 15:10:00

# 将当前时间和日期写入BIOS,避免重启后失效
hwclock -w
安装 nginx

版本没啥要求,直接 apt 安装:sudo apt install nginx

安装 php

使用 sury 的 apt 源安装 php 的新版本

因为 sury 的源使用 https,所以得先安装:

sudo apt install apt-transport-https

添加 deb.sury.org 源:

deb http://packages.sury.org/php/ jessie main

# 更新索引
sudo apt update
# 更新时会出现 the public key is not available: NO_PUBKEY B188E2B695BD4743
sudo wget -O /etc/apt/trusted.gpg.d/sury.gpg https://packages.sury.org/php/apt.gpg

# 安装 php7.2
sudo apt intall php7.2
安装mysql

下载 mysql 的 apt 源:https://dev.mysql.com/downloads/repo/apt/

wget https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb

# 安装 apt 源
sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb
# 出现 lsb-release is not installed.
sudo apt install lsb-release

安装 apt 源出现图形选择界面,各自选择合适的版本,我这里选择了 mysql 5.7 版本,然后 ok 即可。

执行 sudo apt update 更新索引

安装 mysql-server:

sudo apt install mysql-server

中途会出现图形界面要求输入 root 用户的密码,输入即可。

源码与环境分离

本地主机存放源码(方便修改),虚拟机运行环境(避免搞乱主机环境)。

需要虚拟机可以访问主机的文件。采用内网共享文件夹的方案。

在本地创建一个访问共享文件夹的用户。

在本地创建一个存放项目的共享文件夹,给指定用户分配权限。

此文件夹已在内网共享,在 debian 虚拟机挂载此文件夹。

# 创建挂载文件夹
mkdir -p /data/php

# 安装 cifs-utils
sudo apt install cifs-utils

# 挂载共享文件夹(重启会失效)
sudo mount -t cifs -o username="dev",password="123456" //10.10.10.2/project-php /data/php

# 设置开机自动挂载
vim /etc/fstab
# 输入以下内容 username 和 password 不能加引号,不然会因密码错误而挂载失败
//10.10.10.2/project-php /data/php cifs auto,username=dev,password=123456,vers=2.0 0 0

# 查看挂载状态 
df -h
配置 lnmp 环境

nginx 主配置文件:/etc/nginx/nginx.conf

nginx + php 需要 php-fpm 来作为桥梁,让 nginx 把请求转交给 php-fpm 来解析执行。

安装 php-fpm 和其他常用 php 扩展:

apt install php7.2-fpm php7.2-curl php7.2-gd php7.2-mbstring php7.2-mysql php7.2-xml php7.2-xmlrpc

安装完默认已启动 php-fpm,增加一个 nginx 的虚拟主机配置代理 php 的请求:

# 创建 test 的可用站点配置文件
vim /etc/nginx/sites-available/test

# 输入以下配置
server {
        listen 80;
        server_name test.loc;
        
        root /data/php/test;
        
        index index.html index.htm index.php;
        
        location / {
                try_files $uri $uri/ =404;
        }
        
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.2-fpm.sock
        }
}

# 创建软连接到 sites-enabled 文件夹以启用此站点配置
ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/test

# 重启 nginx 以使配置生效
nginx -s reload

配置主机的 host 文件,使 test.loc 解析成 10.10.10.100,然后在共享文件夹的 test 目录下面创建一个 index.php,访问 http://test.loc 即可访问到 index.php 的内容。

安装 composer

据官方指引:https://getcomposer.org/download/

# 安装 composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

# 加入 PATH 的路径里,作全局命令
mv composer.phar /usr/local/bin/composer

# 配置使用国内镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
创建 laravel 项目
composer create-project --prefer-dist laravel/laravel blog "5.8.*"

然后噩梦即将降临…

安装 pip

根据:https://pip.pypa.io/en/stable/installing/

# 下载 pip 安装脚本
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

# 安装 pip
python get-pip.py

# 安装 virtualenv
pip install virtualenv
# 创建 python 虚拟环境(项目目录下)
virtualenv venv
# 激活虚拟环境
source venv/bin/activate

 

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注