广告
本站里的文章大部分经过自行整理与测试
2017年2月26日星期日
VirtualBox - Bridged 模式
1. 除了 VirtualBox platform package,
也下载 Oracle VM VirtualBox Extension Pack
https://www.virtualbox.org/wiki/Downloads
2. 安装 VirtualBox 后, 设置
VirtualBox - Preferences
2.1) Extensions - Oracle VM VirtualBox Extension Pack
2.2) Network - Host-only Networks - Host-only Ethernet Adapter
3. VirtualBox - 某虚拟机
3.1) Settings - Network
Adapter 1 - Enable Network Adapter
修改 NAT 为 Bridged Adapter
3.2) 启动虚拟机后,
可以设置里面的网络为静态 IP
Windows
Local Area Connection Properties -
Intel(R) PRO/1000 MT Network Connection - Internet Protocol Version 4 (TCP/IPv4)
Linux
http://jasonmun.blogspot.my/2017/01/linux-network-settings-ip.html
2017年2月24日星期五
Windows 10 - BASH on Ubuntu
1. 开发人员模式
Settings - Update & Security > For Developers - Developer Mode
2. 打开 BASH 功能
Control Panel - Programs and Features - Turn Windows Features On or Off
- Windows Subsystem for Linux (Beta) - OK
重启后, 就可选 BASH 来用
Windows - PhotoShop 各版本下载
http://jsj08.lofter.com/post/1cbc18fe_6994bb4
CC 从中文转英文
Adobe Photoshop CC (64 Bit)\Locales\zh_CN\Support Files\tw10428.dat
将以上文件改名即可
2017年2月23日星期四
Linux - Microsoft Office 2010 安装
本来是想安装 Microsoft Office 2013,
但成功安装后, 出现黑屏, 根本无法使用,
所以转安装 Microsoft Office 2010
1. 安装好 CrossOver
http://jasonmun.blogspot.my/2017/02/crossover.html
2. 去下载 Microsoft Office 2010
3. 在 CrossOver 按 Install Windows Software, 会出现如图
3.1) Select Application - 选择 Microsoft Office 2010
3.2) Select Installer - 选择安装源 (就是第 2 步)
3.3) Select Bottle
3.4) Install & Finish - 开始安装
4. 有关 KMS Activate 的问题
Bottles - Microsoft Office 2010
Run Command... - Open - Command: 输入 regedit
4.1) 加入 KeyManagementServiceName 和 KeyManagementServicePort
[HKEY_LOCAL_MACHINE\Software\Microsoft\OfficeSoftwareProtectionPlatform]
Edit -> New -> Key: String Value
KeyManagementServiceName: (license server 主机名)
KeyManagementServicePort: (license server 端口预设为 1688)
保持 regedit 开启 和 去开启 Microsoft Office 2010
4.2) 修改 VLRenewalSchedule 的值
[HKEY_USERS\S-1-5-20\Software\Microsoft\OfficeSoftwareProtectionPlatform]
Edit -> New -> Key: Binary Value
VLRenewalSchedule: 输入 1
5. 移除 Ubuntu - Libre Office
$ apt remove libreoffice-core libreoffice-style-* libreoffice-l10n-en-*
但成功安装后, 出现黑屏, 根本无法使用,
所以转安装 Microsoft Office 2010
1. 安装好 CrossOver
http://jasonmun.blogspot.my/2017/02/crossover.html
2. 去下载 Microsoft Office 2010
3. 在 CrossOver 按 Install Windows Software, 会出现如图
3.1) Select Application - 选择 Microsoft Office 2010
3.2) Select Installer - 选择安装源 (就是第 2 步)
3.3) Select Bottle
3.4) Install & Finish - 开始安装
Bottles - Microsoft Office 2010
Run Command... - Open - Command: 输入 regedit
4.1) 加入 KeyManagementServiceName 和 KeyManagementServicePort
[HKEY_LOCAL_MACHINE\Software\Microsoft\OfficeSoftwareProtectionPlatform]
Edit -> New -> Key: String Value
KeyManagementServiceName: (license server 主机名)
KeyManagementServicePort: (license server 端口预设为 1688)
保持 regedit 开启 和 去开启 Microsoft Office 2010
4.2) 修改 VLRenewalSchedule 的值
[HKEY_USERS\S-1-5-20\Software\Microsoft\OfficeSoftwareProtectionPlatform]
Edit -> New -> Key: Binary Value
VLRenewalSchedule: 输入 1
5. 移除 Ubuntu - Libre Office
$ apt remove libreoffice-core libreoffice-style-* libreoffice-l10n-en-*
2017年2月22日星期三
Linux - CrossOver + QQ 8.1 安装
3. 解压, 移动..
将以上里面的 data.tar.xz >> opt/cxoffice/support/apps.com.qq.im
解压出来, 放到 /opt/cxoffice/support
$ mv opt/cxoffice/support/apps.com.qq.im /opt/cxoffice/support
4. CrossOver - QQ
运行 CrossOver 就可看到 QQ 在 CrossOver 列表中,
点击下 QQ 即可运行
Linux - Logwatch 看与邮寄 Log
$ su
1. 安装
$ yum install logwatch
2. 设置文件
$ cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf
$ gedit /etc/logwatch/conf/logwatch.conf
LogDir = /var/log logwatch
TmpDir = /var/cache/logwatch
#Save = /tmp/logwatch 开启此项, 处理结果将保存在/tmp/logwatch, 不邮寄或显示
MailTo = user@mail.com 多个邮箱逗号隔开
MailFrom = Logwatch 当你收到邮件时, 显示是谁发给你的
Range = All 处理什么时候的日志, 可选项 All, Yesterday, Today
Detail = High 日志详细度, 可选项 Low, Med, High, 或是数字 0-10
Print = No 可选项, Yes 会被打印到系统标准输出, No 则会发到邮箱中
Server = All 监控所有服务 all
Service = "-httpd" 排除不监控的服务
Service = "-sshd"
3. 运行
$ /usr/bin/perl /usr/share/logwatch/scripts/logwatch.pl
4. 运行
4.1) crontab 定期运行
* 00 * * * /usr/bin/perl /usr/share/logwatch/scripts/logwatch.pl > /dev/null 2>&1
4.2) 命令输入
–service < name>: 服务名,有对应的解析脚本,可以在 /usr/share/logwatch/scripts/services 中找到
–detail < level>: 报告的详细度, 可选项: High, Med, Low, 数字 0-10
–print: 打印打标准输出
–logfile < name>: 指日志文件名
–save < filename>: 保存到文件
–archives: 使用压缩的文件, 轮转的文件, 例如 messages.1、messages.1.gz
–range < range>: 日期范围, Yesterday, Today, All
–debug < level>: 调试级别: High, Med, Low
–splithosts: 为每个主机创建一份报告
–mailto < addr>: 收件人地址
–multiemail: 将报告发送给多个邮件地址
$ logwatch –service All –detail High –range All –print
$ logwatch –service cron –detail High
$ logwatch --range today --print --mailto user@email.com
$ /usr/share/logwatch/scripts/logwatch.pl --mailto user@email.com
1. 安装
$ yum install logwatch
2. 设置文件
$ cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf
$ gedit /etc/logwatch/conf/logwatch.conf
LogDir = /var/log logwatch
TmpDir = /var/cache/logwatch
#Save = /tmp/logwatch 开启此项, 处理结果将保存在/tmp/logwatch, 不邮寄或显示
MailTo = user@mail.com 多个邮箱逗号隔开
MailFrom = Logwatch 当你收到邮件时, 显示是谁发给你的
Range = All 处理什么时候的日志, 可选项 All, Yesterday, Today
Detail = High 日志详细度, 可选项 Low, Med, High, 或是数字 0-10
Print = No 可选项, Yes 会被打印到系统标准输出, No 则会发到邮箱中
Server = All 监控所有服务 all
Service = "-httpd" 排除不监控的服务
Service = "-sshd"
3. 运行
$ /usr/bin/perl /usr/share/logwatch/scripts/logwatch.pl
4. 运行
4.1) crontab 定期运行
* 00 * * * /usr/bin/perl /usr/share/logwatch/scripts/logwatch.pl > /dev/null 2>&1
4.2) 命令输入
–service < name>: 服务名,有对应的解析脚本,可以在 /usr/share/logwatch/scripts/services 中找到
–detail < level>: 报告的详细度, 可选项: High, Med, Low, 数字 0-10
–print: 打印打标准输出
–logfile < name>: 指日志文件名
–save < filename>: 保存到文件
–archives: 使用压缩的文件, 轮转的文件, 例如 messages.1、messages.1.gz
–range < range>: 日期范围, Yesterday, Today, All
–debug < level>: 调试级别: High, Med, Low
–splithosts: 为每个主机创建一份报告
–mailto < addr>: 收件人地址
–multiemail: 将报告发送给多个邮件地址
$ logwatch –service All –detail High –range All –print
$ logwatch –service cron –detail High
$ logwatch --range today --print --mailto user@email.com
$ /usr/share/logwatch/scripts/logwatch.pl --mailto user@email.com
Linux - cockpit 服务管理工具
$ su
1. 安装
$ yum install cockpit
2. 启动
$ systemctl start cockpit
$ systemctl enable cockpit
3. 打开防火壁端口
$ firewall-cmd --get-active-zones
$ firewall-cmd --add-service=cockpit --permanent --zone=public
$ firewall-cmd --reload
$ firewall-cmd --list-all --zone=public
4. 浏览
http://127.0.0.1:9090
2017年2月21日星期二
CrossOver
CrossOver 其实就是 Wine 的升级版软件, 但它并非是免费的.
它可以安装 Adobe PhotoShop CS3, QQ, Microsoft Office 2013 等等
还有游戏..
先下载 CrossOver 16 (有 deb / rpm 版本)
来安装
https://www.codeweavers.com/products/crossover-linux/download
用搜索引擎搜索 'winewrapper.exe so' 来寻找 winewrapper.exe.so
放去 /opt/cxoffice/lib/wine
$ su
$ cp winewrapper.exe.so /opt/cxoffice/lib/wine/
$ cd /opt/cxoffice/lib/wine
$ chown root:root winewrapper.exe.so
$ chmod 644 winewrapper.exe.so
在 CrossOver 下安装其它软件如 Microsoft Office 2010 后,
打开时应该不会出现还能用多少天的提示了
2017年2月17日星期五
RedHat / CentOS 更新内核
http://elrepo.org/tiki/tiki-index.php
$ su
1. ELrepo 公钥
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. ELrepo 安装
# RHEL 7 / CentOS 7
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# RHEL 6 / CentOS 6
$ rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
3. 安装内核 ( lt: 3.10 / ml: 4.10 )
$ yum –enablerepo=elrepo-kernel install kernel-ml
http://elrepo.org/linux/kernel/el6/x86_64/RPMS/
4. 更新 grub 2
$ grub2-mkconfig -o /boot/grub2/grub.cfg
$ su
1. ELrepo 公钥
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. ELrepo 安装
# RHEL 7 / CentOS 7
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# RHEL 6 / CentOS 6
$ rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
3. 安装内核 ( lt: 3.10 / ml: 4.10 )
$ yum –enablerepo=elrepo-kernel install kernel-ml
http://elrepo.org/linux/kernel/el6/x86_64/RPMS/
4. 更新 grub 2
$ grub2-mkconfig -o /boot/grub2/grub.cfg
2017年2月9日星期四
Gnome Shell Extension - Easy Screen Cast
Easy Screen Cast
在 Gnome 只要点击 Start recording 一下, 就能进行视频 / 音频截取
$ git clone https://github.com/EasyScreenCast/EasyScreenCast
$ mv EasyScreenCast ~/.local/share/gnome-shell/extensions/EasyScreenCast@iacopodeenosee.gmail.com
在 Gnome 只要点击 Start recording 一下, 就能进行视频 / 音频截取
$ git clone https://github.com/EasyScreenCast/EasyScreenCast
$ mv EasyScreenCast ~/.local/share/gnome-shell/extensions/EasyScreenCast@iacopodeenosee.gmail.com
2017年2月8日星期三
MySQL - 数据备份与恢复
备份
[options]: -h主机名 -P端口 -u用户名 -p密码
1. 备份 MySQL 数据库
$ mysqldump [options] 数据库名 > backup.sql
或
$ mysqldump [options] -database 数据库名 > backup.sql
2. 备份 MySQL 数据库 + 删除表 ( --add-drop-table )
$ mysqldump --add-drop-table [options] -database 数据库名 > backup.sql
3. 直接将 MySQL 数据库 压缩备份 ( gzip )
$ mysqldump [options] -database 数据库名 | gzip > backup.sql.gz
4. 备份 MySQL 数据库里的表
$ mysqldump [options] 数据库名 表名1 表名2 > backup.sql
5. 同时备份多个 MySQL 数据库
$ mysqldump [options] -databases 数据库名1 数据库名2 数据库名3 > multi_backup.sql
6. 备份数据库结构 ( --no-data )
$ mysqldump --no-data [options] -databases 数据库名1 数据库名2 数据库名3 > struct.sql
7. 备份所有数据库 ( --all-databases )
$ mysqldump [options] --all-databases > all_backup.sql
恢复
1. 还原 MySQL 数据库
$ mysql [options] 数据库名 < backup.sql
2. 还原压缩的 MySQL 数据库
$ gunzip < backup.sql.gz | mysql [options] 数据库名
3. 将数据库转移到新服务器
$ mysqldump [options] 数据库名 | mysql --host=*.*.*.* -C 数据库名
4. 在 mysqldump 中使用 --master-data 和 --single-transaction
--master-data=2 : 会记录 binlog 文件和 position 的信息
--single-transaction : 会将隔离级别设置成 repeatable-commited
5. 导入数据库
常用 source 命令, 用 use 进入到某个数据库, mysql> source C:\test.sql
6. 查看 binlog 日志
$ mysqlbinlog 日志名 | more
7. general_log - 记录数据库的任何操作
- 查看 general_log 的状态和位置 : show variables like "general_log%",
- 开启 general_log : set global general_log=on
是指备份后所有的更改将会保存到 bin-log.000002 二进制文件中
2. 在 数据库名 库的 t_student 表中增加两条记录, 然后执行 flush logs 命令
这时将会产生一个新的二进制日志文件 bin-log.000003,
bin-log.000002 则保存了全备份过后的所有更改,
既增加的记录操作也保存于 bin-log.00002 中
3. 再 数据库名 库中的 a 表中增加 2 条记录, 然后误删除 a 和 t_student 表
以上操作也记录在 bin-log.000003 中
[options]: -h主机名 -P端口 -u用户名 -p密码
1. 备份 MySQL 数据库
$ mysqldump [options] 数据库名 > backup.sql
或
$ mysqldump [options] -database 数据库名 > backup.sql
2. 备份 MySQL 数据库 + 删除表 ( --add-drop-table )
$ mysqldump --add-drop-table [options] -database 数据库名 > backup.sql
3. 直接将 MySQL 数据库 压缩备份 ( gzip )
$ mysqldump [options] -database 数据库名 | gzip > backup.sql.gz
4. 备份 MySQL 数据库里的表
$ mysqldump [options] 数据库名 表名1 表名2 > backup.sql
5. 同时备份多个 MySQL 数据库
$ mysqldump [options] -databases 数据库名1 数据库名2 数据库名3 > multi_backup.sql
6. 备份数据库结构 ( --no-data )
$ mysqldump --no-data [options] -databases 数据库名1 数据库名2 数据库名3 > struct.sql
7. 备份所有数据库 ( --all-databases )
$ mysqldump [options] --all-databases > all_backup.sql
恢复
1. 还原 MySQL 数据库
$ mysql [options] 数据库名 < backup.sql
2. 还原压缩的 MySQL 数据库
$ gunzip < backup.sql.gz | mysql [options] 数据库名
3. 将数据库转移到新服务器
$ mysqldump [options] 数据库名 | mysql --host=*.*.*.* -C 数据库名
4. 在 mysqldump 中使用 --master-data 和 --single-transaction
--master-data=2 : 会记录 binlog 文件和 position 的信息
--single-transaction : 会将隔离级别设置成 repeatable-commited
5. 导入数据库
常用 source 命令, 用 use 进入到某个数据库, mysql> source C:\test.sql
6. 查看 binlog 日志
$ mysqlbinlog 日志名 | more
7. general_log - 记录数据库的任何操作
- 查看 general_log 的状态和位置 : show variables like "general_log%",
- 开启 general_log : set global general_log=on
增量备份
1. 首先做一次完整备份
$ mysqldump [options] --single-transaction --master-data=2 数据库名 > backup.sql
在 backup.sql 文件中可看到
-- CHANGE MASTER TO MASTER_LOG_FILE='bin-log.000002', MASTER_LOG_POS=107;
1. 首先做一次完整备份
$ mysqldump [options] --single-transaction --master-data=2 数据库名 > backup.sql
在 backup.sql 文件中可看到
-- CHANGE MASTER TO MASTER_LOG_FILE='bin-log.000002', MASTER_LOG_POS=107;
是指备份后所有的更改将会保存到 bin-log.000002 二进制文件中
2. 在 数据库名 库的 t_student 表中增加两条记录, 然后执行 flush logs 命令
这时将会产生一个新的二进制日志文件 bin-log.000003,
bin-log.000002 则保存了全备份过后的所有更改,
既增加的记录操作也保存于 bin-log.00002 中
3. 再 数据库名 库中的 a 表中增加 2 条记录, 然后误删除 a 和 t_student 表
以上操作也记录在 bin-log.000003 中
恢复数据 + binlog 日志
1. 首先导入全备数据
1. 首先导入全备数据
$ mysql [options] < backup.sql
2. 恢复 binlog 日志 bin-log.000002
$ mysqlbinlog bin-log.000002 | mysql [options]
或
$ mysql [options] < bin-log.000002
$ mysql [options] < bin-log.000002
3. 恢复 binlog 日志 bin-log.000003
在 general_log 中找到误删除的时间点,
然后更加对应的时间点到 bin-log.000003 中找到相应的 position 点,
需要恢复到误删除的前面一个 position 点
可以用如下参数来控制 binlog 的区间
开始点 --start-position
结束点 --stop-position
开始时间 --start-date
结束时间 --stop-date
找到恢复点后, 既可以开始恢复
$ mysqlbinlog --start-position=208 bin-log.000003 | mysql [options]
MariaDB / MySQL - Binary Logs 设置
1. 准备存 bin-log 的地方
$ mkdir -p /var/log/mariadb/bin-log
2. 编辑 /etc/my.cnf (my.ini)
[mysqld]
log_bin=/var/log/mariadb/bin-log
expire_logs_days = 7
3. 启动 MariaDB
$ systemctl start mariadb
4. 查看数据库关于 Binary Log 设置
检查 Binary Logs 是否开启
$ mysql -h主机名 -P端口 -u用户名 -p密码
MariaDB> show variables like 'log_bin';
MariaDB> show binary logs;
MariaDB> show master logs;
重设
MariaDB> reset master;
(在slave上, 用 reset slave, 之前应 stop slave, 之后再 start slave)
清理
MariaDB> purge binary logs to 'log-bin.000001';
MariaDB> purge binary logs before '2011-05-28 12:05:38';
5. 查看 Binary Log
MariaDB> show master status;
MariaDB> show binlog events;
MariaDB> quit;
$ cd /var/log/mariadb/bin-log
全备份
$ mysqlbinlog log-bin.000001 > tmp.log
部分备份
# --start-datetime / --stop-datetime
$ mysqlbinlog --start-datetime='2015-07-01 00:00:00' --stop-datetime='2016-07-15 00:00:00' log-bin.000001 > tmp.log
$ mysqlbinlog --start-datetime='2015-07-01 00:00:00' log-bin.000001 > tmp.log
$ mysqlbinlog --stop-datetime='2016-07-15 00:00:00' log-bin.000001 > tmp.log
# --start-position / --stop-position
$ mysqlbinlog --start-position='10001' --stop-position='10002' log-bin.000001 > tmp.log
$ mysqlbinlog --start-position='10001' log-bin.000001 > tmp.log
$ mysqlbinlog --stop-position='10002' log-bin.000001 > tmp.log
6. 关闭与开启 Binary Logs
关闭
MariaDB> SET sql_log_bin=0;
MariaDB> flush logs;
恢复
$ mysql -h主机名 -P端口 -u用户名 -p密码 < tmp.log
开启
MariaDB> SET sql_log_bin=1;
$ mkdir -p /var/log/mariadb/bin-log
2. 编辑 /etc/my.cnf (my.ini)
[mysqld]
log_bin=/var/log/mariadb/bin-log
expire_logs_days = 7
3. 启动 MariaDB
$ systemctl start mariadb
4. 查看数据库关于 Binary Log 设置
检查 Binary Logs 是否开启
$ mysql -h主机名 -P端口 -u用户名 -p密码
MariaDB> show variables like 'log_bin';
MariaDB> show binary logs;
MariaDB> show master logs;
重设
MariaDB> reset master;
(在slave上, 用 reset slave, 之前应 stop slave, 之后再 start slave)
清理
MariaDB> purge binary logs to 'log-bin.000001';
MariaDB> purge binary logs before '2011-05-28 12:05:38';
5. 查看 Binary Log
MariaDB> show master status;
MariaDB> show binlog events;
MariaDB> quit;
$ cd /var/log/mariadb/bin-log
全备份
$ mysqlbinlog log-bin.000001 > tmp.log
部分备份
# --start-datetime / --stop-datetime
$ mysqlbinlog --start-datetime='2015-07-01 00:00:00' --stop-datetime='2016-07-15 00:00:00' log-bin.000001 > tmp.log
$ mysqlbinlog --start-datetime='2015-07-01 00:00:00' log-bin.000001 > tmp.log
$ mysqlbinlog --stop-datetime='2016-07-15 00:00:00' log-bin.000001 > tmp.log
# --start-position / --stop-position
$ mysqlbinlog --start-position='10001' --stop-position='10002' log-bin.000001 > tmp.log
$ mysqlbinlog --start-position='10001' log-bin.000001 > tmp.log
$ mysqlbinlog --stop-position='10002' log-bin.000001 > tmp.log
6. 关闭与开启 Binary Logs
关闭
MariaDB> SET sql_log_bin=0;
MariaDB> flush logs;
恢复
$ mysql -h主机名 -P端口 -u用户名 -p密码 < tmp.log
开启
MariaDB> SET sql_log_bin=1;
2017年2月7日星期二
MySQL - MyISAM / InnoDB 比较
MyISAM
优点: 适合大量的 select, 可以全文索引
缺点: 不支持事务, 不支持外键, 并发量较小, 不适合大量 update
InnoDB
优点: 支持事务, 支持外键, 并发量较大, 适合大量 insert / update
缺点: 不适合大量的 select
优点: 适合大量的 select, 可以全文索引
缺点: 不支持事务, 不支持外键, 并发量较小, 不适合大量 update
InnoDB
优点: 支持事务, 支持外键, 并发量较大, 适合大量 insert / update
缺点: 不适合大量的 select
MySQL 与 MariaDB 区别
MySQL 之父 Widenius 先生离开了Sun之后, 觉得依靠 Sun / Oracle 来发展 MySQL,
实在很不靠谱, 于是决定另开分支, 这个分支的名字叫做 MariaDB
MariaDB 能够快速的查询和处理数据, 且占用资源相对是少于 MySQL 数据库的,
而且在运行速度, 以及支持对 Unicode 的排序问题优于 MySQL 数据库
https://downloads.mariadb.org/mariadb/repositories/#mirror=utm
MySQL - 解决乱码问题
$ gedit /etc/my.cnf
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
Linux - MySQL 安装
1. 下载 / 解压 / 移动
$ cd Downloads
$ wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
$ tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
$ su
$ mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
2. 复制与修改设置文件
$ cd /usr/local/mysql/support-files
$ cp my-default.cnf /etc/my.cnf
$ cp mysql.server /etc/init.d/mysql
$ gedit /etc/init.d/mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
3. 权限设置
$ groupadd mysql
$ useradd -r -g mysql mysql
$ passwd mysql
$ chown -R mysql:mysql /usr/local/mysql/
$ mkdir -p /usr/local/mysql/data
4. 初始化
$ cd /usr/local/mysql/bin
$ ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
5. 加密数据库
$ ./mysql_ssl_rsa-setup --datadir=/usr/local/mysql/data
6. 启动
$ systemctl enable mysql
$ systemctl start mysql
7. 设置 path 环境变量
$ gedit /etc/profile
export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH
8. 打开防火壁端口 3306
9. 修改 root 密码
./mysqld_safe --user=mysql
http://jasonmun.blogspot.my/2016/12/mysql-root.html
2017年2月6日星期一
Tor 原理与使用方法
https://www.torproject.org
Tor 原理
Tor 客户端 会先从 Tor 目录服务器读取能连接的节点清单,
然后随机选择 3 个节点,
前 2 个节点即入口与中间节点会加密, 最后的出口节点会解密看到内容
如果看的是 https, 就连出口节点也不能看到内容
过一段时间, 节点会重选
Tor 正确使用方法 (为了不泄漏 IP)
1. 不启动或安装任何浏览器插件如 Flash, RealPlayer, Quicktime 等
2. 不用 torrent 软件于 Tor 网络
3. 当用着 Tor 网络, 不要打开 doc / pdf 文件
4. 可以在虚拟机上如 Ubuntu 用 Tor 网络, 以确保没有软件泄漏 IP
5. 用 Tor 的 bridge 模式
6. 用 Tor Browser
Tor Network Settings
- My Internet Service Provider (ISP) blocks connections to the Tor network
- Connect with provided bridges
- Transport type: obfs4 (recommended)
Windows - Deep Web (Tor + IIS) 匿名网站服务
在这里, 我们以安装与启动了 IIS 为前提
(其实不一定要 IIS, 只要是 Web Server, 用端口 80 即可)
如果更换了以下设置的端口, 也可以隐藏其它服务如 SSH / FTP 等
1. 下载 Expert Bundle
https://www.torproject.org/download/download.html.en
https://www.torproject.org/dist/torbrowser/6.5/tor-win32-0.2.9.9.zip
2. 弄个 tor 文件夹, 解压 Expert Bundle 于内 ( C:\tor )
3. 用 NotePad 创建文件 torrc
C:\Users\username\AppData\Roaming\tor\torrc
或
C:\tor\Data\torrc
SocksPort 0
DataDirectory C:\tor\Data
GeoIPFile C:\tor\Data\Tor\geoip
GeoIPv6File C:\tor\Data\Tor\geoip6
HiddenServiceDir C:\tor\Data
HiddenServicePort 80 127.0.0.1:80
Log notice file C:\tor\Data\notice.log
# 以下是 Bridge 的设置
ORPort auto
BridgeRelay 1
Exitpolicy reject *:*
4. 运行 tor.exe (以 administrator 身份运行)
弄个 Shortcut, 运行的 Target 如下
C:\tor\Tor\tor.exe
或
C:\tor\Tor\tor.exe --defaults-torrc C:\tor\Data\torrc
5. 用 NotePad 打开文件 hostname
C:\tor\Data\hostname
44axhgxws5j3woxi.onion
6. 在客户端安装与启动 Tor Browser
当以上的主机名为网址输入
Linux 版
http://jasonmun.blogspot.my/2017/02/linux-deep-web-tor-apache2.html
Windows - IIS - 用 OWASP 加强防御
1. 运行库
Microsoft Visual C++ 2015 Redistributable Package
https://www.microsoft.com/en-us/download/details.aspx?id=53840
http://www.downxia.com/downinfo/29834.html
Mod Security IIS 版
http://www.modsecurity.org/download.html
https://www.modsecurity.org/tarball/2.9.1/ModSecurityIIS_2.9.1-64b.msi
2. 设置
2.1) applilcationHost.config
C:\Windows\System32\inetsrv\config\applicationHost.config
<section name="ModSecurity" overrideModeDefault="Allow" allowDefinition="Everywhere" /></sectionGroup>
2.2) modsecurity.conf
C:\inetpub\wwwroot\owasp_crs\modsecurity.conf
SecRuleEngine On
2.3) web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<ModSecurity enabled="true" configFile="C:\Program Files\ModSecurity IIS\modsecurity_iis.conf" />
</system.webServer>
</configuration>
Microsoft Visual C++ 2015 Redistributable Package
https://www.microsoft.com/en-us/download/details.aspx?id=53840
http://www.downxia.com/downinfo/29834.html
Mod Security IIS 版
http://www.modsecurity.org/download.html
https://www.modsecurity.org/tarball/2.9.1/ModSecurityIIS_2.9.1-64b.msi
2. 设置
2.1) applilcationHost.config
C:\Windows\System32\inetsrv\config\applicationHost.config
<section name="ModSecurity" overrideModeDefault="Allow" allowDefinition="Everywhere" /></sectionGroup>
2.2) modsecurity.conf
C:\inetpub\wwwroot\owasp_crs\modsecurity.conf
SecRuleEngine On
2.3) web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<ModSecurity enabled="true" configFile="C:\Program Files\ModSecurity IIS\modsecurity_iis.conf" />
</system.webServer>
</configuration>
2017年2月5日星期日
Linux - Nginx - 用 OWASP 加强防御
1. 安装
# 依赖库
$ yum install openssl openssl-devel pcre pcre-devel zlib zlib-devel
$ yum install apr apr-util-devel apr-devel httpd-devel libxml2 libxml2-devel
# openssl
$ cd /usr/local/src
$ wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz
$ tar zxvf openssl-1.1.0c.tar.gz
$ cd openssl-1.1.0c
$ ./config --prefix=/usr
$ make && make install
# pcre
$ cd /usr/local/src
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
$ tar zxvf pcre-8.40.tar.gz
$ cd pcre-8.40
$ ./configure
$ make && make install
# zlib
$ cd /usr/local/src
$ wget http://zlib.net/zlib-1.2.11.tar.gz
$ tar zxvf zlib-1.2.11.tar.gz
$ cd zlib-1.2.11
$ ./configure
$ make && make install
# 编译与安装 ModSecurity
$ cd /usr/local/src
$ wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
$ tar zxvf modsecurity-2.9.1.tar.gz
$ cd modsecurity-2.9.1
$ ./autogen.sh
$ ./configure --enable-standalone-module --disable-mlogc
$ make
# 编译与安装 Nginx
$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.10.2.tar.gz
$ tar zxvf nginx-1.10.2.tar.gz
$ cd nginx-1.10.2
$ ./configure --prefix=/usr/local/nginx
--without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.1.0c --with-pcre=/usr/local/src/pcre-8.40 --with-zlib=/usr/local/src/zlib-1.2.11 --add-module=/usr/local/src/modsecurity-2.9.1/nginx/modsecurity/
$ make
$ make install
$ /usr/local/nginx/sbin/nginx -V
$ cd /usr/local/src/modsecurity-2.9.1
$ cp modsecurity.conf-recommended /usr/local/nginx/modsecurity.conf
$ cp unicode.mapping /usr/local/nginx/unicode.mapping
# 下载 OWASP ModSecurity Core Rule Set (CRS)
$ cd /usr/local/nginx
$ git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
$ cd owasp-modsecurity-crs
$ mv crs-setup.conf.example crs-setup.conf
2. 设置
2.1) 编辑 modsecurity.conf
$ gedit /usr/local/nginx/conf/modsecurity.conf
SecRuleEngine on
#Include owasp-modsecurity-crs/rules/REQUEST-901-INITIALIZATION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-903.9001-DRUPAL-EXCLUSION-RULES.conf
#Include owasp-modsecurity-crs/rules/REQUEST-903.9002-WORDPRESS-EXCLUSION-RULES.conf
#Include owasp-modsecurity-crs/rules/REQUEST-905-COMMON-EXCEPTIONS.conf
#Include owasp-modsecurity-crs/rules/REQUEST-910-IP-REPUTATION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-911-METHOD-ENFORCEMENT.conf
#Include owasp-modsecurity-crs/rules/REQUEST-912-DOS-PROTECTION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-913-SCANNER-DETECTION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf
Include owasp-modsecurity-crs/rules/REQUEST-921-PROTOCOL-ATTACK.conf
Include owasp-modsecurity-crs/rules/REQUEST-930-APPLICATION-ATTACK-LFI.conf
Include owasp-modsecurity-crs/rules/REQUEST-931-APPLICATION-ATTACK-RFI.conf
Include owasp-modsecurity-crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf
Include owasp-modsecurity-crs/rules/REQUEST-933-APPLICATION-ATTACK-PHP.conf
#Include owasp-modsecurity-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf
#Include owasp-modsecurity-crs/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf
Include owasp-modsecurity-crs/rules/REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION.conf
Include owasp-modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf
Include owasp-modsecurity-crs/rules/RESPONSE-950-DATA-LEAKAGES.conf
Include owasp-modsecurity-crs/rules/RESPONSE-951-DATA-LEAKAGES-SQL.conf
Include owasp-modsecurity-crs/rules/RESPONSE-952-DATA-LEAKAGES-JAVA.conf
#Include owasp-modsecurity-crs/rules/RESPONSE-953-DATA-LEAKAGES-PHP.conf
Include owasp-modsecurity-crs/rules/RESPONSE-954-DATA-LEAKAGES-IIS.conf
Include owasp-modsecurity-crs/rules/RESPONSE-959-BLOCKING-EVALUATION.conf
Include owasp-modsecurity-crs/rules/RESPONSE-980-CORRELATION.conf
# 注释掉默认的 SecAuditLogType 和 SecAuditLog
SecAuditLogDirMode 0777
SecAuditLogFileMode 0550
SecAuditLogStorageDir /var/log/modsecurity
SecAuditLogType Concurrent
2.2) 编辑 nginx.conf
$ gedit /usr/local/nginx/nginx.conf
server {
location / {
ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;
proxy_pass http://online;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
3. 启动
$ systemctl start nginx
# 依赖库
$ yum install openssl openssl-devel pcre pcre-devel zlib zlib-devel
$ yum install apr apr-util-devel apr-devel httpd-devel libxml2 libxml2-devel
# openssl
$ cd /usr/local/src
$ wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz
$ tar zxvf openssl-1.1.0c.tar.gz
$ cd openssl-1.1.0c
$ ./config --prefix=/usr
$ make && make install
# pcre
$ cd /usr/local/src
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
$ tar zxvf pcre-8.40.tar.gz
$ cd pcre-8.40
$ ./configure
$ make && make install
# zlib
$ cd /usr/local/src
$ wget http://zlib.net/zlib-1.2.11.tar.gz
$ tar zxvf zlib-1.2.11.tar.gz
$ cd zlib-1.2.11
$ ./configure
$ make && make install
# 编译与安装 ModSecurity
$ cd /usr/local/src
$ wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
$ tar zxvf modsecurity-2.9.1.tar.gz
$ cd modsecurity-2.9.1
$ ./autogen.sh
$ ./configure --enable-standalone-module --disable-mlogc
$ make
# 编译与安装 Nginx
$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.10.2.tar.gz
$ tar zxvf nginx-1.10.2.tar.gz
$ cd nginx-1.10.2
$ ./configure --prefix=/usr/local/nginx
--without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.1.0c --with-pcre=/usr/local/src/pcre-8.40 --with-zlib=/usr/local/src/zlib-1.2.11 --add-module=/usr/local/src/modsecurity-2.9.1/nginx/modsecurity/
$ make
$ make install
$ /usr/local/nginx/sbin/nginx -V
$ cd /usr/local/src/modsecurity-2.9.1
$ cp modsecurity.conf-recommended /usr/local/nginx/modsecurity.conf
$ cp unicode.mapping /usr/local/nginx/unicode.mapping
# 下载 OWASP ModSecurity Core Rule Set (CRS)
$ cd /usr/local/nginx
$ git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
$ cd owasp-modsecurity-crs
$ mv crs-setup.conf.example crs-setup.conf
2. 设置
2.1) 编辑 modsecurity.conf
$ gedit /usr/local/nginx/conf/modsecurity.conf
SecRuleEngine on
#Include owasp-modsecurity-crs/rules/REQUEST-901-INITIALIZATION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-903.9001-DRUPAL-EXCLUSION-RULES.conf
#Include owasp-modsecurity-crs/rules/REQUEST-903.9002-WORDPRESS-EXCLUSION-RULES.conf
#Include owasp-modsecurity-crs/rules/REQUEST-905-COMMON-EXCEPTIONS.conf
#Include owasp-modsecurity-crs/rules/REQUEST-910-IP-REPUTATION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-911-METHOD-ENFORCEMENT.conf
#Include owasp-modsecurity-crs/rules/REQUEST-912-DOS-PROTECTION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-913-SCANNER-DETECTION.conf
#Include owasp-modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf
Include owasp-modsecurity-crs/rules/REQUEST-921-PROTOCOL-ATTACK.conf
Include owasp-modsecurity-crs/rules/REQUEST-930-APPLICATION-ATTACK-LFI.conf
Include owasp-modsecurity-crs/rules/REQUEST-931-APPLICATION-ATTACK-RFI.conf
Include owasp-modsecurity-crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf
Include owasp-modsecurity-crs/rules/REQUEST-933-APPLICATION-ATTACK-PHP.conf
#Include owasp-modsecurity-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf
#Include owasp-modsecurity-crs/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf
Include owasp-modsecurity-crs/rules/REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION.conf
Include owasp-modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf
Include owasp-modsecurity-crs/rules/RESPONSE-950-DATA-LEAKAGES.conf
Include owasp-modsecurity-crs/rules/RESPONSE-951-DATA-LEAKAGES-SQL.conf
Include owasp-modsecurity-crs/rules/RESPONSE-952-DATA-LEAKAGES-JAVA.conf
#Include owasp-modsecurity-crs/rules/RESPONSE-953-DATA-LEAKAGES-PHP.conf
Include owasp-modsecurity-crs/rules/RESPONSE-954-DATA-LEAKAGES-IIS.conf
Include owasp-modsecurity-crs/rules/RESPONSE-959-BLOCKING-EVALUATION.conf
Include owasp-modsecurity-crs/rules/RESPONSE-980-CORRELATION.conf
# 注释掉默认的 SecAuditLogType 和 SecAuditLog
SecAuditLogDirMode 0777
SecAuditLogFileMode 0550
SecAuditLogStorageDir /var/log/modsecurity
SecAuditLogType Concurrent
2.2) 编辑 nginx.conf
$ gedit /usr/local/nginx/nginx.conf
server {
location / {
ModSecurityEnabled on;
ModSecurityConfig modsecurity.conf;
proxy_pass http://online;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
3. 启动
$ systemctl start nginx
订阅:
博文 (Atom)