Ubuntu14.04配置Apache2服务器

ubuntu安装以及服务器配置 (刚开始最好先使用虚拟机配置,谨慎使用sudo命令)

1、下载ubuntu14.04 iso镜像文件

2、下载rufus软件制作ubuntu安装引导盘

3、安装步骤安装ubuntu

输密码时注意开启小键盘,建议开始输密码不要用小键盘

4、安装远程桌面

sudo apt-get update
sudo apt-get install xfce4
sudo apt-get install xrdp vnc4server
echo "xfce4-session" >~/.xsession
sudo service xrdp restart

需要关闭屏保,屏保占用大量带宽:
setting->setting manager->Screensaver

5、在window上开启远程连接

sudo apt-get install gnome-terminal 安装新终端
sudo update-alternatives --config x-terminal-emulator 设置默认终端为gnome
terminal没有光标:在Terminal->Edit->Profile Preferences->Colors->反选Use colors from system theme即可

文件管理器无缩略图:执行

sudo apt-get install gnome-icon-theme-full tango-icon-theme

断开连接再次重连即可

6、ufw防火墙设置

sudo ufw default deny 默认拒绝所有请求
sudo ufw enable/disable 开启或者关闭防火墙
sudo ufw status 查看防火墙状态
sudo ufw allow ssh/22 允许22端口可被访问 22端口为ssh端口
sudo ufw allow 80 允许80端口 为apache使用
sudo ufw allow from 192.168.1.107 允许该IP的主机访问所有端口
sudo ufw reset 重置所有规则
sudo ufw delete allow 3350 删除某条规则

sudo ufw allow 3350
sudo ufw allow 3389 windows远程桌面默认端口号为:3389,两个都开启才能连接到远程桌面
sudo netstat -ap|grep 8000 查看端口被哪个程序占用
sudo ufw allow 8000 django页面测试使用

7、文件互传

在win7上安装远程登录工具putty-64bit-0.68-installer.msi,
安装putty,在putty的安装目录中拷贝出pscp.exe文件至C:\Windows\System32,这样就可以在任意地方运行pscp命令。

在桌面打开cmd,欲传输ss.png至ubuntu,使用命令:

pscp ss.png dramgo@192.168.1.102:/var/www 只有左斜杠可用
pscp ss.png dramgo@192.168.1.102:Downloads
其中dramgo是ubuntu的用户名,192.168.1.102是ubuntu的IP地址。

若出现unable to open /home/ss.png: permission denied 
则需要对ubuntu服务器上的对应文件夹进行读写授权,
使用命令
sudo chmod -R 777 /home/
修改该目录的权限为普通用户可访问。

从ubuntu服务器下载ss.png到window,使用命令:

pscp dreamgo@192.168.1.102:/var/www/ss.png C:/ss.png
从远程服务器的/var/www/ss.png 下载到本地C盘ss.png

文件互传可能会出现Fatal: Network error: Connection refused错误,无法传递文件,是因为系统没有开启ssh服务:
sudo apt-get update 首先更新源
sudo apt-get install openssh-server 安装ssh服务
ps -e | grep ssh 检测是否启动,看到有ssh字样就说明已启动,如果没有就手动启动
/etc/init.d/ssh start 手动启动ssh服务
sudo /etc/init.d/ssh restart 配置ssh-server

8、解压

tar -xvzf community_images.tar.gz 解压
unzip dreamgo.zip 解压zip

9、pycharm安装及激活

在windows上运行服务激活程序,发送对应pycharm文件至ubuntu,解压并进入bin目录,运行sudo ./pycharm.sh安装pycharm。
选择服务端激活,输入http://192.168.1.x(windows地址):激活对应的端口号
之后可以用/usr/local/bin/charm打开软件

10、mysql

mysql -uroot -proot 进入mysql命令行操作
create database dreamgo default character set utf8; 一定要加;号

11、tab无法自动补全

在setting->Window Manager->Keyboard->关闭 Switch window for same application

Linux部署Apache开发环境

Ubuntu 14.04
Apache 2.4.7
Python 3.4
Django 1.10.6

1、ubuntu安装python3.5

ubuntu14.04系统会自带python2.7,请不要卸载它。

sudo apt-get install python-software-properties
sudo apt-get install software-properties-common

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5

sudo cp /usr/bin/python /usr/bin/python_bak 先备份
sudo rm /usr/bin/python 删除
sudo ln -s /usr/bin/python3.5 /usr/bin/python 默认设置成python3.5

2、安装apache等必要模块

sudo apt-get update
sudo apt-get install python3-pip apache2 libapache2-mod-wsgi-py3

在python3环境下使用pip3安装软件而不是pip(python2使用)

sudo pip3 install virtualenv

virtualenv dreamgo_env 新建虚拟环境
source dreamgo/bin/activate 激活虚拟环境
deactivate 关闭虚拟环境

3、配置apache2

sudo chmod -R 777 /etc/apache2 为apache2目录开启读写权限,防止设置保存失败
sudo chmod -R /home/dreamgo/dreamgo_official_site 为项目开启读写权限,方便编辑

直接进入/etc/apache2/site-available/文件夹编辑000-default.conf或者使用命令:
sudo gedit /etc/apache2/site-available/000-default.conf编辑配置文件

000-default.conf:

<VirtualHost *:8000>
    ServerAdmin ykh@dreamgo.tech
    ServerName 192.168.1.102

    DocumentRoot /home/dreamgo/dreamgo_official_site

    Alias /static /home/dreamgo/dreamgo_official_site/static
    <Directory /home/dreamgo/dreamgo_official_site/static>
        Require all granted
    </Directory>

    <Directory /home/dreamgo/dreamgo_official_site/dreamgo_official_site>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess 192.168.1.102 python-path=/home/dreamgo/dreamgo_official_site python-home=/home/dreamgo/dreamgo_official_site/dreamgo_env
    WSGIProcessGroup 192.168.1.102
    WSGIScriptAlias / /home/dreamgo/dreamgo_official_site/dreamgo_official_site/wsgi.py
</VirtualHost>

使用8000端口需要配置:
添加新的监听端口,默认的80端口容易被其他程序占用
sudo ufw allow 8000 防火墙开放8000端口
编辑/etc/apache2/ports.conf文件,新增Listen 8000,保存。

使用命令开启站点:

sudo a2enmod wsgi
sudo a2ensite 000-default.conf
sudo service apache2 reload
sudo service apache2 restart
创建所需的数据库familytree,并指定编码方式,否则数据库中无法传入中文
create database test default character set utf8
最后 python manage.py migrate 迁移数据库

站点关闭命令

sudo a2dissite 000-default.conf

Django中文语言错误:
这是文件从win7迁移到Ubuntu上系统设置的错误
错误提示: no translation files found for default language zh_Hans
解决方案: 在settings中将LANGUAGE_CODE = ‘zh_Hans’改为LANGUAGE_CODE = ‘zh-hans’
可至,对应的语言代码可至django/conf/locale/init.py中查找。

4、MySql由Windows迁移至Ubuntu

Windows进入C:\Program Files\MySQL\MySQL Server 5.7\bin打开cmd:

Windows:

mysqldump -uroot -proot --all-databases >C:\all_data.sql 备份全部数据库

Linux:

mysql -uroot -proot 进入mysql命令交互终端(mysql -uroot -p 16.04中使用,默认数据库必须使用密码登录,root用户一样)
    create database dreamgo default character set utf8; 新建数据库(默认编码格式为utf-8,否则数据库中出现中文会报错)
    drop database dreamgo; 删除数据库
    show databases; 列出所有数据库
    use database_name; 使用某个数据库

通用:

mysql --version 查看mysql版本
mysqldump -uroot -p dreamgo >C:\dreamgo.sql 备份一个数据库 需要迁移的两个数据库版本相同
mysqldump -uroot -p database_name <C:\dreamgo.sql 回复数据提示成功但是无表被添加
mysql -uroot -p database_name <C:\dreamgo.sql 回复数据成功
mysql_upgrade -uroot -proot --force 提示系统的session表不存在时执行

5、Apache模块配置

pip 安装wsgi的库时会自动向/etc/apache2/mods-available/中添加wsgi.conf和wsgi.load

wsgi.load:

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
mod_wsgi.so位于文件夹/usr/lib/apache2/modules/中

Apache默认的日志文件位于/var/log/apache2/error.log

配置虚拟主机:ErrorLog /django/dreamgo/error.log

安装xsendfile,用于文件上传下载。

sudo apt-get install libapache2-mod-xsendfile
sudo a2enmod xsendfile

6、文件操作

sudo touch xxx.etx 新建文件
sudo mkdir xxx 新建目录
sudo mv dir1 dir2 剪切文件夹
sudo rm -rf dir 删除文件夹

7、配置项目

Pillow安装错误

sudo apt-get install python3-dev
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib

pip install pillow

如果有log文件,必须对log文件所在的父级目录授权。

8、安装mysql5.7

由于不同版本的sql无法备份,故使用和windows上相同的mysql5.7,linux apt-get 安装的为5.5.54。

步骤:

wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server
mysql --version

9、 Windows上安装不同版本python

原来系统中装好了python2.7版本,再下别的版本的安装包自定义路径安装,不要将其路径配置到环境变量中去,然后用python2.7安装虚拟环境
pip install virtualenvwrapper-win
添加用户变量
变量名:WORKON_HOME
变量值:D:\ENVS\
mkvirtualenv zqxt:创建运行环境zqxt
workon zqxt: 工作在 zqxt 环境 或 从其它环境切换到 zqxt 环境
deactivate: 退出终端环境
rmvirtualenv ENV:删除运行环境ENV
mkproject mic:创建mic项目和运行环境mic
mktmpenv:创建临时运行环境
lsvirtualenv: 列出可用的运行环境
lssitepackages: 列出当前环境安装了的包
virtualenv -p D:\Python35\python.exe py3.5   在默认为python2.7中创建python3.5的虚拟环境

10、Django常用命令

在虚拟环境ENVS文件夹下执行 django-admin startproject name 新建工程
cd name后   python manage.py startapp name2 在name文件夹下创建name2 app,建议使用这种
或直接 python name/manage.py startapp name2 在name同级文件夹下创建name2 app

11、Django配置文件介绍

urls.py      网址入口,关联到对应的view.py中的一个函数(或者generic类),访问网址就对应一个函数。
views.py     处理用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页将其显示出来,比如登录后的用户名,用户请求的数据,输出到网页。视图函数
models.py    与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候可以不使用这个。
forms.py     表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成的工作,当然也可以不使用。
templates 文件夹      views.py中的函数渲染templates中的html模板,得到动态内容的网页,当然可以用缓存来提高速度。
admin.py     后台,可以使用少量的代码就拥有一个强大的后台。
settings.py  django 的设置,配置文件,比如debug的开关,静态文件的位置等。
旅行的意义 wechat
subscribe to my blog by scanning my public wechat account
Donate comment here