bat 在目录下递归循环执行命令
1 | @echo off |
1 | @echo off |
安装nodejs环境
1 | wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz |
nodejs包中已经包含了nmp
测试
1 | node --version |
安装grunt
安装grunt命令行工具grunt-cli
1 | npm install -g grunt-cli |
安装grunt及其插件
1 | npm install -g grunt --save-dev |
测试
1 | grunt -version |
安装elasticsearch-head
如果没有Git先安装
1 | yum install git |
先克隆项目
1 | git clone git://github.com/mobz/elasticsearch-head.git |
安装
1 | cd elasticsearch-head |
elasticsearch-head的配置文件是Gruntfile.js,默认监听在127.0.0.1下9100端口
然后cd /usr/local/elasticsearch-head 执行
1 | grunt server |
浏览器访问 http://172.16.31.220:9100/
问题:
启动完之后,head主控页面是可以显示的,但是显示连接失败
1 | “集群健康值: 未连接” |
查资料:解决方案,修改elasticsearch.yml文件
1 | vim $ES_HOME$/config/elasticsearch.yml |
重启es和head即可
说明:
key | 说明 |
---|---|
http.cors.enabled | 是否支持跨域,默认为false |
http.cors.allow-origin | 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?://localhost(:[0-9]+)?/ |
http.cors.max-age | 浏览器发送一个“预检”OPTIONS请求,以确定CORS设置。最大年龄定义多久的结果应该缓存。默认为1728000(20天) |
http.cors.allow-methods | 允许跨域的请求方式,默认OPTIONS,HEAD,GET,POST,PUT,DELETE |
http.cors.allow-headers | 跨域允许设置的头信息,默认为X-Requested-With,Content-Type,Content-Length |
http.cors.allow-credentials | 是否返回设置的跨域Access-Control-Allow-Credentials头,如果设置为true,那么会返回给客户端。 |
使用Privoxy 将socks5代理转成http代理
操作系统 CentOS 7
1 | yum install epel-release |
用yum命令看一下,是最新版本
1 | yum info privoxy |
直接安装 privoxy
1 |
|
配置文件位于目录:**/etc/privoxy**
修改绑定地址,搜索 ==listen-address== ,修改需要绑定的IP
1 | listen-address 0.0.0.0:8118 |
设置socks5 转发,搜索 ==forward-socks5t== ,去掉注释,修改对应IP
1 |
|
注意后面的点不要删掉
配置不走代理,直接本地转发的
1 | forward 192.168.*.*/ . |
由于网络不稳定,经常出现503,增加转发重试
默认值是:0
1 | forwarded-connect-retries 1 |
配置最大客户端的连接
默认值是:128
1 | max-client-connections 256 |
这个用于开启和关闭广告过滤和内容过滤,1表示开启,0表示关闭
默认值是:1
1 | toggle 0 |
共享连接
是否保持活动的传出连接应该在不同的传入连接之间共享
这个还没怎么测试,按照字面意思理解
1 | connection-sharing 1 |
拦截服务端禁止在iframe中加载的响应头,在user.action 末尾添加
只能处理http的连接
1 | { +crunch-server-header{X-Frame-Options} } |
修改服务端的响应头,去掉设置cookie时的 HttpOnly ,让客户端可以通过js获取cookie
Privoxy 使用类似Perl的 s/// 操作来实现对内容的替换修改
注意,它使用的是|作为分隔符,而不是/,因为模式包含一个正斜杠,否则必须以反斜杠(\)来转义。如果表达式中有|线则用@符号。(文档中没有看到明确的说明,但是例子中是这么写的)
只能处理http的连接
在user.filter文件中新增
1 | SERVER-HEADER-FILTER: delete-http-only delete server response head setCookie http only tag |
在user.action文件中新增
1 | {+server-header-filter{delete-http-only}} |
1 | $ systemctl start privoxy |
1 | netstat -an | grep 8118 |
浏览器配置代理指向privoxy
访问地址:http://p.p/ 可以进入到privoxy的一个管理页面
访问地址:https://check.torproject.org/ 可以进入到一个tor检查页面
centos7安装socks5
项目地址:
http://ss5.sourceforge.net
下载地址:
https://sourceforge.net/projects/ss5/files/
下载解压
1 | $ wget https://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz |
编译
1 | $ cd ss5-3.8.9 |
安装pam
1 | $ yum -y install pam pam-devel |
再编译
1 | $ ./configure --prefix=/usr/local/ss5 |
1 | $ make |
再装ldap
1 | yum -y install openldap-devel |
再来一次
1 | $ make |
再安装openssl
1 | $ yum install openssl-devel |
再来一次就正常了
1 | make |
安装完成之后相关配置文件在:
/etc/opt/ss5/ 目录下
1 | $ ll /etc/opt/ss5/ |
启动一下试试看
先给文件加上执行权限
1 | chmod +x /etc/rc.d/init.d/ss5 |
启动服务
1 | $ service ss5 start |
检查一下端口(默认使用1080端口)
1 | $ netstat -an | grep 1080 |
测试一下
1 | $ curl --socks5 127.0.0.1:1080 http://www.baidu.com |
并不行
修改ss5.conf文件试试看
去掉 auth 和 permit 两项配置的注释
1 | ...... |
重启服务
1 | [root@wwh215 init.d]# service ss5 stop |
再用curl命令测试,能正常访问了
1 | curl --socks5 127.0.0.1:1080 http://www.baidu.com |
下一步测试需要授权的,使用用户名、密码授权
修复ss5.conf文件
后面改成 u
1 | auth 0.0.0.0/0 - u |
修改ss5.passwd,增加一对用户名密码
1 | test test |
重启服务,再用上面的curl命令测试,发现又不能访问了
加上用户名密码就可以访问了
1 | curl --socks5 test:test@127.0.0.1:1080 --user test:test http://www.baidu.com |
测试完成
1 | chkconfig --add ss5 |
1 | $ yum install pam-devel openldap-devel openssl-devel |
默认是1080
修改文件 /etc/sysconfig/ss5
将
1 | #SS5_OPTS=” -u root” |
取消注释,修改成下面这样
1 | SS5_OPTS=" -u root -b 0.0.0.0:10808" |
开放一个端口
1 | firewall-cmd --zone=public --add-port=1080/tcp --permanent |
重新加载防火墙规则并保存状态信息
1 | firewall-cmd --reload |
查看已经开放的端口
1 | firewall-cmd --list-ports |
firefox浏览器安装FoxyProxy Standard 扩展
https://addons.mozilla.org/zh-CN/firefox/addon/foxyproxy-standard/
服务器启动失败时,查看服务状态
1 | # service ss5 status |
发现不能创建pid文件,原因是父级目录没有创建好
创建一下即可:
1 | mkdir /var/run/ss5/ |
1 | yum install tor |
如果yum中没有tor,请安装epel源:
1 | yum install epel-release |
修改配置文件:/etc/tor/torrc 指定服务绑定IP和端口:
1 | SOCKSPort 0.0.0.0:9150 |
启动服务:
1 | Systemctl start tor |
检查上方配置文件中指定的端口是否正在监听:
1 | netstat -an | grep 9150 |
检查防火墙设置,确保服务器能正常连接到VPS上的Tor服务端口。
https://www.torproject.org/download/download-unix.html.en
按照这个站点上的进行操作
系统:Ubuntu
1、先设置软件包存储库,然后才能获取Tor
2、弄清楚你的发行版的名字
1 | $ lsb_release -c |
3、先卸载之前安装的老版本
sudo apt-get remove package –purge 删除包,包括配置文件等
1 | sudo apt-get remove tor --purge |
4、系统比较老,先升级
1 | apt-get dist-upgrade |
在/etc/apt/sources.list.d/下添加一个新文件
1 | vi torproject.list |
内容如下:
1 | deb http://deb.torproject.org/torproject.org xenial main |
或者
1 | deb http://deb.torproject.org/torproject.org trusty main |
然后通过在命令提示符处运行以下命令来添加用于签署软件包的gpg密钥:
1 | gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 |
更新并安装
1 | $ apt update |
有可能会
1 | W: 无法下载 http://deb.torproject.org/torproject.org/dists/xenial/InRelease 无法连接上 deb.torproject.org:80 (31.13.84.8),连接超时 |
我们提供了一个Debian软件包来帮助您保持我们的签名密钥。建议您使用它。安装它使用:
1 | apt-get install deb.torproject.org-keyring |
修改配置:/etc/tor/torrc
1 | SOCKSPort 0.0.0.0:9150 |
重启服务:
1 | service tor restart |
确保以具有管理员权限的用户身份登录。
如:mysql-5.6.31-winx64.zip
如:C:\Program Files\MySQL\MySQL Server 5.6
将…/bin 添加到系统环境变量 path 中
默认的配置文件是../my-default.ini,重命名该文件或者自己建立一个my.ini文件
在其中修改或添加配置:
1 | [mysqld] |
进入到bin目录中,输入 mysqld -install
安装服务
如果不进入bin目录,install能成功,服务能注册,但服务无法启动,提示找不到文件
install指令默认会按照如下顺序读取指定配置文件:
C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
C:\Program Files\MySQL\MySQL Server 5.6\my.ini
C:\Program Files\MySQL\MySQL Server 5.6\my.cnf
1 | C:\Users\Administrator>mysqld -install |
进入到bin目录中,输入 mysqld --initialize
初始化数据目录
(好像是可以不需要)
1 | C:\Users\Administrator>mysqld --initialize |
1 | net start mysql |
1 | # 指定root用户登录否则没有权限 |
地址:
https://dev.mysql.com/downloads/file/?id=478884
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-winx64.zip
如解压到:D:\mysql\mysql-5.7.23-winx64
如果想在其他目录直接执行mysql命令,则需要将bin加入到环境变量
在安装目录(D:\mysql\mysql-5.7.23-winx64)创建my.ini文件,填入如下内容
纯文本文件,可以使用任何文本编辑器进行编辑
1 | [mysqld] |
如果使用反斜杆需要两个
1 | [mysqld] |
1 | cd D:\mysql\mysql-5.7.23-winx64 |
1 | D:\mysql\mysql-5.7.23-winx64\bin>mysqld.exe --console |
这种方式启动直接 CTRL + C 停止即可
不加 –console 则输出信息在日志文件夹中
1 | cd bin |
1 | >mysqladmin.exe -uroot -p shutdown |
需要想将bin目录加入到环境变量
没有进行测试,通过命令行方式启动更加可控
1 | # 安装服务 |
1 | # 修改密码 |
在配置文件[mysqld]字段下增加skip-grant-tables 字段,用以忽略权限验证
使用mysql -u root -p 登录数据, 密码直接回车
修改[mysql]数据库,user表的authentication_string字段
1 | update mysql.user set authentication_string=password('root') where user='root'; |
这个时候的mysql5.7 小版本已经到了32 了
下载地址:
https://dev.mysql.com/downloads/mysql/5.7.html
运行mysqld 时,系统提示“由于找不到MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。”
官方说明:
https://support.microsoft.com/en-us/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package
下载这个程序并执行:
http://download.microsoft.com/download/1/8/0/180FA2CE-506D-4032-AAD1-9D7636F85179/vcredist_x64.exe
CentOS Linux 7 (Core)
1 | uname -a |
MySql 5.7
下载对应版本的源rpm文件
1 | wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm |
安装
1 | sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm |
默认是启动5.7版本的
1 | yum repolist all | grep mysql |
1 | sudo yum install mysql-community-server |
1 | vi /etc/my.cnf |
创建对应的目录,调整权限
mkdir /data/mysql/datadir
chown mysql:mysql /data/mysql
启动报错
1 | systemctl start mysqld.service |
日志文件中说是文件权限问题,但没看到是那个文件
调整一下/var/lib/mysql 目录
1 | ls -al |
再启动还是报错
后来尝试了很多方法之后,把数据目录改回去才能启动
启动之后获取密码:
1 | shell> sudo grep 'temporary password' /var/log/mysqld.log |
通过临时密码登录并修改root密码
1 | shell> mysql -uroot -p |
修改了配置后再次测试,还是不行
1 | datadir=/data/mysql/datadir |
修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。
再次启动可以了
设置Mysql远程访问
1 | grant all privileges on *.* to 'root'@'%' identified by 'Root@666' with grant option; |
使授权生效
1 | flush privileges; |
1 | #关闭防火墙 |
先在目标库中创建表
在目标机器上导出
1 | mysqldump -udap -p -h192.168.1.215 dap > dap.sql |
进入mysql
1 | mysql -udap -p |
测试的时候发现部分表,比如user表,permission表等创建不了,换成root用户就好了
CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
MySQL Yum Repository
https://dev.mysql.com/downloads/repo/yum/
1 | wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm |
1 | sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm |
安装这个包后,会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
1 | sudo yum install mysql-server |
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
1 | service mysqld start |
重置密码前,首先要登录
1 | mysql -u root |
登录时有可能报这样的错:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘
原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
1 | sudo chown -R openscanner:openscanner /var/lib/mysql |
然后,重启服务:
1 | service mysqld restart |
接下来登录重置密码:
1 | $ mysql -u root |
设置Mysql远程访问
1 | grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; |
使授权生效
1 | flush privileges; |
CentOS 7 默认已经不适用这个防火墙了!
1 | sudo vim /etc/sysconfig/iptables |
添加以下内容:
-A INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT
保存后重启防火墙:
1 | sudo service iptables restart |
1 | chkconfig --list |
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
A. 转到MySQL Yum存储库的下载页面,网址为 http://dev.mysql.com/downloads/repo/yum
B. 选择并下载您的平台的发行包。
C. 使用以下命令安装下载的发行包,并platform-and-version-specific-package-name 使用下载的软件包的名称进行替换 :
1 | shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpm |
例如,对于n基于EL6的系统的版本,命令是:
1 | shell> sudo rpm -Uvh mysql57-community-release-el6-n.noarch.rpm |
注意
一旦您的系统上安装了发行包,yum update 命令(或dnf启用的系统的dnf升级)的任何系统级更新将自动升级系统上的MySQL软件包,并替换任何本机第三方软件包,如果Yum在MySQL Yum存储库中找到替换它们。有关详细信息,请参阅使用MySQL Yum存储库升级MySQL并 替换MySQL 的本机第三方分发。
使用MySQL Yum存储库时,默认情况下选择最新的MySQL版本的MySQL进行安装。如果这是你想要的,你可以跳到下一步, 使用Yum安装MySQL。
在MySQL Yum存储库(http://repo.mysql.com/yum/)中,MySQL社区服务器的不同版本系列托管在不同的子链接库中。默认情况下,最新的GA系列(目前为MySQL 5.7)的子功能启用,默认情况下禁用所有其他系列(例如,MySQL 5.6系列)的子修复。使用此命令查看MySQL Yum存储库中的所有子修补程序,并查看其中哪些启用或禁用(对于启用dnf的系统,请使用dnf在命令中 替换 yum):
1 | shell> yum repolist all | grep mysql |
要安装最新的GA系列的最新版本,不需要配置。要安装最新的GA系列以外的特定系列的最新版本,请禁用最新GA系列的子功能,并在运行安装命令之前启用特定系列的子功能。如果您的平台支持 yum-config-manager或dnf config-manager命令,您可以通过发出以下命令来执行此操作,这些命令禁用5.7系列的子链接,并启用5.6系列的子目录; 对于不启用dnf的平台:
1 | shell> sudo yum-config-manager --disable mysql57-community |
对于启用dnf的平台:
1 | shell> sudo dnf config-manager --disable mysql57-community |
除了使用yum-config-manager或 dnf config-manager命令外,还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择一个系列 。这是一个典型的条目:文件中的subrepository发行系列:
1 | [mysql57-community] |
找到要配置的子链接的条目,然后编辑该enabled选项。指定 enabled=0禁用子广告素材,或 enabled=1启用子广告素材。例如,要安装MySQL 5.6,请确保您具有 enabled=0以上用于MySQL 5.7的子功能表项,并具有enabled=15.6系列的条目:
1 | # Enable to use MySQL 5.6 |
您只能在任何时间启用一个版本系列的子链接。当启用了多个版本系时,Yum将使用最新的系列。
通过运行以下命令并检查其输出(对于启用dnf的系统,使用dnf在命令中替换yum), 验证是否已启用和禁用正确的子修补剂 :
1 | shell> yum repolist enabled | grep mysql |
通过以下命令安装MySQL(对于启用dnf的系统,用命令 dnf替换yum):
1 | shell> sudo yum install mysql-community-server |
这将安装MySQL服务器的包以及其他所需的包。
使用以下命令启动MySQL服务器:
1 | shell> sudo service mysqld start |
对于基于EL7的平台,这是首选命令:
1 | shell> sudo systemctl start mysqld.service |
您可以使用以下命令检查MySQL服务器的状态:
1 | shell> sudo service mysqld status |
对于基于EL7的平台,这是首选命令:
1 | shell> sudo systemctl status mysqld.service |
MySQL服务器初始化(仅适用于MySQL 5.7):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:
服务器已初始化。
SSL证书和密钥文件在数据目录中生成。
该 validate_password插件安装并启用。
‘root‘@’localhost’ 创建 超级用户帐户。超级用户的密码被设置并存储在错误日志文件中。要显示它,请使用以下命令:
1 | shell> sudo grep 'temporary password' /var/log/mysqld.log |
通过使用生成的临时密码登录,尽快更改root密码,并为超级用户帐户设置自定义密码:
1 | shell> mysql -uroot -p |
注意
MySQL的 validate_password 插件默认安装。这将要求密码至少包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且总密码长度至少为8个字符。
因为想使用mysql的全文索引,需要5.7才支持,使用原来的数据文件进行升级,原来的是5.6.31
1 | shell> uname -r |