分类 运维/Linux 下的文章

适用于Ubuntu/Debian

1.添加源

deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main

系统版本列表:

http://ppa.launchpad.net/webupd8team/java/ubuntu/dists/

2.导入GPG key到系统验证包的合法性

sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886

3.更新索引与安装

sudo apt-get update && sudo apt-get install oracle-java8-installer

4.完成

java -version

5.设为默认java环境

sudo apt-get install oracle-java8-set-default

天天对终端打字,难免视觉疲劳,不如来给终端来做些美化。

Powerline是一个极棒的Vim编辑器的状态行插件,这个插件是使用Python开发的,主要用于显示状态行和提示信息,适用于很多软件,比如bash、zsh、tmux等等。

1.由于Powerline使用Python,我们要先安装Python环境

sudo apt install python python-pip

2.拉取与安装Powerline

pip install git+git://github.com/powerline/powerline

3.安装字体

Powerline使用特殊的符号来为开发者显示特殊的箭头效果和符号内容。因此你的系统中必须要有符号字体或者补丁过的字体。

wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf

将字体复制到系统字体目录

sudo mv PowerlineSymbols.otf /usr/share/fonts/

更新字体缓存

sudo fc-cache -vf /usr/share/fonts/

安装字体配置文件

sudo mv 10-powerline-symbols.conf /etc/fonts/conf.d/

4.终端支持

sudo nano ~/.bashrc (or vim .bashrc)

写入:

export TERM="screen-256color"
. /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh

5.Vim支持

sudo vim ~/.vimrc

写入:

set rtp+=/usr/local/lib/python2.7/dist-packages/powerline/bindings/vim/
set laststatus=2
set t_Co=256

619_0.png
619_1.png

今天又迁移了一遍服务器,在配置MySQL出现了一些问题。

在配置好MySQL后,打开站点,WordPress出现了“Error establishing a database connection”错误,这个错误在上次迁移也遇到过,于是不得不降级使用Debian8,在查询了无数次资料后,找到了原因:

由于mysql 5.0采用了一种新的密码验证机制,这需要客户端的版本要在4.0以上(PHP中的MYSQL客户端可以查看phpinfo得到),连接数据库时是用旧的密码机制,这会出现“Client does not support authentication protocol requested by server”这样的错误提示。

解决办法是新建一个账户:

create user 'user'@'localhost' identified by 'passwd';
(MySQL环境下)

但又会遇到另一个错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
(您的密码不符合当前的策略要求)

还是密码验证机制的问题,输入以下命令解决:

set global validate_password_policy=0;
(MySQL环境下)

validate_password_policy的取值:

Policy            Tests Performed
0 or LOW            Length
1 or MEDIUM    Length; numeric, lowercase/uppercase, and special characters
2 or STRONG    Length; numeric, lowercase/uppercase, and special characters; dictionary file
(默认值为1)

修改后再新建用户,给予用户相关权限即可。

现在的服务器普遍偏贵,有没有更便宜的建站方法呢?答案是有的,只要在本地搭建服务器,使用Frp或Ngrok进行内网穿透就可以了,128MB内存的Vps就足够建站了,因为Frp或Ngrok内存需求不高,128MB足以部署内网穿透服务了。

下面以Ubuntu 18.04 Amd64 为例

1.下载与解压

wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
tar -xvf frp_0.21.0_linux_amd64.tar.gz
cd frp_0.21.0_linux_amd64

对于服务端,我们只关心frps 和 frps.ini 文件。

2.配置与启动

sudo nano frps.ini (or sudo vi nano frps.ini)
------*-----*-----
#简单配置示例
[common]
bind_adddr = 0.0.0.0 #服务器地址
bind_port = 7000 #服务器端口
token = 123456 #服务器token,只有在客户端与服务器一致时,才允许客户端连接

dashboard_port = 2581 #Web页面端口
dashboard_user = admin #用户名
dashboard_pwd = passwd #密码

vhost_http_port = 80 #HTTP服务端口
vhost_https_port = 443 #HTTPS服务端口

log_file = ./frps.log #日志文件
------*-----*-----

3.运行与后台运行

./frps -c ./frps.ini

可以先测试测试

nohup ./frpc -c ./frpc.ini>nohup.out 2>&1 &

后台运行

4.客户端运行

下载客户端后解压,打开frpc.ini进行配置。

------*-----*-----
#简单配置示例
[common]
server_addr = x.x.x.x #服务器地址
server_port = 7000 #服务器端口
token = 123456 #token
[ssh] #TCP示例
type = tcp #类型
local_ip = 127.0.0.1 #本地IP
local_port = 22 #本地端口
remote_port = 6000 #远程端口
[http] #HTTP示例/HTTPS示例
type = http #http/https
local_port = 80 #80(http)/443(https)
custom_domains = www.yourdomain.com #域名,解析需指向服务器
#subdomain = test #或使用二级域名
[udp] #UDP示例
type = udp
local_ip = 127.0.0.1
local_port = 19312
remote_port = 6000
------*-----*-----

运行

./frpc -c ./frpc.ini

5.安全性

可以指定用户只能使用的端口(端口段),避免安全风险。

在frps.ini中配置:

allow_ports = 80,443,2000-3000,3001,3003,4000-50000

更多请查看Frp的Github文档!

轻量化BT下载器,有Web界面,非常适合树莓派等类似的小板子使用。

1.更新&安装

sudo apt-get update && sudo apt-get install transmission-daemon

2.关闭transmission-daemon服务

先关闭transmission-daemon服务,因为要改它的配置。

sudo service transmission-daemon stop

3.修改配置文件

sudo nano /etc/transmission-daemon/settings.json
(or sudo vi /etc/transmission-daemon/settings.json)
#-------------------------------------------------------
修改如下配置项
1. rpc-whitelist 允许访问的IP,写入IP路由器段或单独IP,如:192.168.1.*,多个用“,”分隔
2. incomplete-dir 下载中目录,可以换成自己的
3. download-dir 下载完成目录,可以换成自己的
4. rpc-password 用户密码,删除密文,写入明文密码,运行后会自动加密
5. rpc-username 用户名

4.启动服务

sudo service transmission-daemon start

5.访问WebUI

访问http://你的IP:9091/transmission/就可以看到界面了。

440_0.png

虽然用PI来当NAS速度很慢.......

1.更新源

虽然这不是必须的,但还是更新一下为好。

sudo apt-get update

2.安装Samba服务

sudo apt-get install samba samba-common-bin

270_0.png

3.修改配置

打开 /etc/samba/ 下的 smb.conf 配置文件。

sudo nano /etc/samba/smb.conf (or sudo vi nano /etc/samba/smb.conf)

使用搜索,搜索 read only = yes ,将 yes 改为 no 。

移动至末尾,添加如下配置:

[NAS]    
    comment = NAS For OPi #名称
    valid users = root #默认访问用户
    path = / #目录
    browseable = yes
    writable = yes
    create mask = 0777 #新创建文件的默认属性
    directory mask = 0777 #新创建文件夹的默认属性

270_1.png

4.重启

sudo /etc/init.d/samba restart

5.添加用户,使其能访问

sudo smbpasswd -a root
# 后面会要求设置密码

270_2.png

6.连接测试

打开网络,计算机会自动扫描到PI。连接时会要求输入密码,输入设置的用户和密码。

270_3.png

安装完成。

我的服务器是 Debian 8,不同的Linux发行版有一定差异。

一般存放网页默认目录是 /var/www/html 或  /usr/share/nginx/www 下。网页直接传到目录就可以了。

1 下载 WordPress 安装包

https://cn.wordpress.org/

2 使用 Xftp 上传到目录

(省略,超级简单,与ftp一样,注意选择 sftp)

上传完成后请给予目录 777 权限。

root@debian:~# chmod 777 -R /var/www/html

3 创建数据库

(省略,看这篇文章)

4 访问站点,开始配置

配置非常简单,就少点废话,看图:

TIM#U56fe#U724720171209140644.png
TIM#U56fe#U724720171209140644.png

之后就可以进管理界面了,可以开始写文章了。

我的服务器是 Debian 8,不同的Linux发行版有一定差异。

1 下面我们来安装MySQL。

1.一条命令解决

root@Server:~# sudo apt-get install mysql-server -y

在安装过程中会要求设置root用户密码(此root非彼root)。

270_4.png

如果没有要求设置的话好像要进安全模式改。

2.安装PHP扩展

root@Server:~# sudo apt-get install php5-mysql -y

2 基础操作命令

root@Server:~# mysql -u root -p //-u 指定用户
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 56
Server version: 5.5.58-0+deb8u1 (Debian)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases; //查看已有数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)

mysql> create database test; //新建名叫test的数据库
Query OK, 1 row affected (0.00 sec)

mysql> show databases; //查看
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql> drop database test; //删除名叫test的数据库
Query OK, 0 rows affected (0.05 sec)

mysql> show databases; //查看
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

mysql>quit; //退出
Bye
root@Server:~# mysqladmin -u root -p password "test" //修改密码,test为新密码
Enter password:
(也可以在MySQL内直接操作mysql表)