ejabberd(+mysql)安装

因为fab 要用到xmpp 所以有了下文

1.下载安装
wget -c https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/15.07/ejabberd-15.07-linux-x86_64-installer.run
chmod +x ejabberd-15.07-linux-x86_64-installer.run
./ejabberd-15.07-linux-x86_64-installer.run

#下面是过程的重点 因为过程太多,不能全部在这里展示

ejabberd服务器域名 [vm2]: 192.168.1.109

集群

请从另一个节点复制 $HOME/.erlang.cookie 文件. 警告: 为安全起见, 您最好在防火墙中阻止外部连接4369端口.
按 [Enter] 继续:

2.启动 用启动脚本比较好
cp /opt/ejabberd-15.07/bin/ejabberd.init /etc/init.d/ejabberd
/etc/init.d/iptables stop

WEB地址:http://ip地址:5280/admin
WEB地址:http://192.168.1.109:5280/admin
admin admin

3.mysql 配置
[root@localhost bin]# mysql -u root -p
Enter password:

创建用户和修改权限

mysql:>
create database ejabberd;
grant all privileges on ejabberd.* to ejabberd@'127.0.0.1' IDENTIFIED BY 'ejabberd';
grant all privileges on ejabberd.* to ejabberd@'localhost' IDENTIFIED BY 'ejabberd';

创建数据库,并导入 这里因为 全文导引的问题 mysql 5.6以上才行

mysql -uroot -proot ejabberd

4.
修改 /opt/ejabberd-15.07/conf/ejabberd.yaml 文件如下:
注释掉: auth_method: internal.
取消注释:auth_method: odbc.
取消注释并设置数据库名称和密码: (我的数据库帐号密码都是ejabberd)

odbc_type: mysql
odbc_server: "localhost"
odbc_database: "ejabberd"
odbc_username: "ejabberd"
odbc_password: "ejabberd"

5.新建帐号
#这样才是成功的
[root@vm2-xmpp ejabberd-15.07]# /opt/ejabberd-15.07/bin/ejabberdctl register evan 192.168.1.109 123456
User evan@192.168.1.109 successfully registered

#这个是错误的
[root@vm2-xmpp bin]# /opt/ejabberd-15.07/bin/ejabberdctl register evan localhost 123456
Failed RPC connection to the node ejabberd@vm2: nodedown

Commands to start an ejabberd node:
start Start an ejabberd node in server mode
debug Attach an interactive Erlang shell to a running ejabberd node
iexdebug Attach an interactive Elixir shell to a running ejabberd node
live Start an ejabberd node in live (interactive) mode
iexlive Start an ejabberd node in live (interactive) mode, within an Elixir shell

Optional parameters when starting an ejabberd node:
--config-dir dir Config ejabberd: /opt/ejabberd-15.07/conf
--config file Config ejabberd: /opt/ejabberd-15.07/conf/ejabberd.yml
--ctl-config file Config ejabberdctl: /opt/ejabberd-15.07/conf/ejabberdctl.cfg
--logs dir Directory for logs: /opt/ejabberd-15.07/logs
--spool dir Database spool dir: /opt/ejabberd-15.07/database/ejabberd@vm2
--node nodename ejabberd node name: ejabberd@vm2

http://docs.ejabberd.im/admin/guide/configuration/#database-and-ldap-configuration
中的Example of MySQL connection:

然后编辑ejabberd.yml文件
#我直接加了
acl:
admin:
user:
- "evan": "localhost"
access:
configure:
admin: allow

#用户 evan 密码123456
#问题 后来这个的登录用户密码都不对了 原来是哪个注册用户没有成功
http://192.168.1.109:5280/admin

#安装文档
http://docs.ejabberd.im/admin/guide/installation/#installing-ejabberd-with-binary-installer

用win32diskimager 制作U盘linux安装盘

你是不是应该要安装一个新的linux发行版,而下载一个iso,然后刻录到光盘, 有没有想过,这样很浪费光盘呢,其实,我们可以不用浪费光盘的,请看
软件下载
http://sourceforge.net/projects/win32diskimager/files/latest/download
https://launchpad.net/win32-image-writer
制作过程:
1、解压win32diskimager,并运行;
2、选择xxx.iso(其路径一定要为英文,且无空格)
3、点击“Write”按钮,ISO将写入U盘
(注意:写入U盘后,在win平台下无法识别U盘内容。)
由于DVD.ISO文件较大,写入过程约花10-20分钟。写入完毕后,按F2或F12键盘按键(因主板BIOS不同,请选择相应键盘按键)选择BOOT启动菜单中的U盘启动方式即可进入光盘安装模式进行正常安装了。

ssh+chrome 翻墙

生华哥说得对,有vps不翻墙,就是浪费!所以我们要追求自由!

首先是对linux用户 ,如果你是win 用户 请往后面看 windows用户如何建立翻墙隧道

第一 #建立翻墙隧道
ssh -i id_rsa -p 222 -qtfnN -D 7070 evan@199.15.116.197

第二设置chrome
http://code.google.com/p/switchysharp/wiki/SwitchySharp_GFW_List_2

SSH与Google Chrome浏览器结合的翻墙术(含PC与Mac)

http://www.issacy.com/archives/789.html

为了方便起见,放到crontab 里面
tunnel.sh
#!/bin/bash
CPID=$$ #$$ 是脚本运行的当前进程ID号  20170620 am 终于才注意到要打开这个注释呢
RUN="`ps -ef | grep "$0" | grep -v "grep" | grep -v "$CPID" | wc -l`" #$0 是脚本本身的名字
[ "$RUN" -gt 0 ] && exit
sleep 10
ssh -i /home/evan/.ssh/id_rsa -p 22 -qtfnN -D 7070 evan@199.15.114.243

crontab -e

*/5 * * * * /home/evan/tunnel.sh

http://code.google.com/p/switchysharp/wiki/SwitchySharp_GFW_List_2

***************************
如果是windows 用户

强调一下 先帮你的chrome 安装上 SwitchyOmega
下载点击这里

1.下载扩展程序/脚本程序至本地计算机;
2.将其直接拖拽到浏览器的“扩展程序”(chrome://chrome/extensions/)页面。

https://github.com/FelisCatus/SwitchyOmega
https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=zh-CN

windows用户如何建立翻墙隧道
在 Windows 系统上,你可以通过 Putty 或者 Bitvise SSH Client。下面将介绍如何通过 Putty 连接 SSH 代理翻墙:
1. 下载 Putty
在 PuTTY Download Page http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
页面,点击并下载 “putty.exe” 文件。

2. 添加 SSH 代理服务器 运行 “putty.exe” 程序,在 “Section” 标签页输入 SSH 代理服务器地址和端口。
t1

3. 添加转发端口
在左边 “Category” 一栏通过以下路径打开端口转发 (Port forwarding)标签页:
Connection – SSH – Tunnels
然后,在 “Source port” 一栏输入 “7070”,接着选择 “Dynamic”,并点击 “Add” 按钮。
t2

4. 保存 SSH 代理设置
回到 “Session” 标签页,在 “Saved Sessions” 框内输入 SSH 代理名称,然后点击 “Save” 按钮保存。
这个步骤不是必需的,但是它可以让你下次自动快速连接保存的 SSH 代理。

5. 连接 SSH 代理
完了之后,点击 “Open” 按钮,输入 SSH 代理的用户名和密码,然后你就可以连接 SSH 代理了。
连接成功之后,将浏览器网络连接的 SOCKS 代理设置成 “127.0.0.1:7070”,然后你就可以通过该 SSH 代理翻墙了。 看

要是xshell 就为 view->tunneling pane 然后 add type为dynamic(socks4/5) listen port 7070
ssh

 

第二设置chrome 就可以了

情景模式: proxy 为 SOCKS 127.0.0.1 7070

情景模式: auto switch 前两个都为proxy

autoswitch

其它参考资料
goagent 也不错的呢,有空试试
https://code.google.com/p/goagent/

##这个好像是免费的
http://wxwx.jimdo.com/2011/11/17/goagent/#ref=a399598

SSH与Google Chrome浏览器结合的翻墙术(含PC与Mac)

SSH与Google Chrome浏览器结合的翻墙术(含PC与Mac)

Windows 使用 ssh proxy 翻墙
http://wenzhixin.net.cn/2013/01/06/windows_bitvise

如何通过 Putty 连接 SSH 代理翻墙
http://jingpin.org/putty-ssh-tunnel/

利用VPS搭建ssh+Tunnelier或MyEnTunnel+firefox翻墙
http://www.willacat.com/2011/03/200.html

使用SecureCRT实现Windows环境SSH代理翻墙
http://www.jems.me/blog/web/29-%E4%BD%BF%E7%94%A8securecrt%E5%AE%9E%E7%8E%B0windows%E7%8E%AF%E5%A2%83ssh%E4%BB%A3%E7%90%86%E7%BF%BB%E5%A2%99.html

fnmp_conf


# cat /etc/nginx/nginx.conf
#20150915
user www;
worker_processes 2;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

pid logs/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

gzip on;

#4 blog
server {
listen 80;
server_name linuxchina.net;
# server_name blog.linuxchina.net;
charset utf-8;
root /word;
index index.php index.html index.htm;

# #access_log logs/host.access.log main;

location / {
try_files $uri $uri/ =404;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /word;
}
##
# # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;

# #location ~ \.php$ {
# # root html;
# # fastcgi_pass 127.0.0.1:9000;
# # fastcgi_index index.php;
# # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# # include fastcgi_params;
# #}

}

}

include /usr/local/etc/nginx/hosts/*.conf;
}


server {
listen 80;
server_name evanlinux.com;
charset utf-8;
access_log off;
root /data/www/wiki;
index index.php index.htm index.html;
location ~ .*\.(gif|jpg|jpeg|png|bmp|ico|swf|html|htm|mp3|wma|js|css)$ {
expires 7d;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}

#evan@bsdvps:~ % cat /usr/local/etc/nginx/hosts/wiki.conf
#include /usr/local/etc/nginx/hosts/*.conf;

mysql_err-InnoDB: mmap(137363456 bytes) failed; errno 12

问题 机器上mysql挂了 重启也没用 那马上看log 这个是一定的啦 出事看log
[root@ ~]# cat mysql/data/git-shop.err
150915 15:02:15 mysqld_safe Starting mysqld daemon with databases from /mysql/data/
150915 15:02:16 InnoDB: The InnoDB memory heap is disabled
150915 15:02:16 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150915 15:02:16 InnoDB: Compressed tables use zlib 1.2.7
150915 15:02:16 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
150915 15:02:16 InnoDB: Completed initialization of buffer pool
150915 15:02:16 InnoDB: Fatal error: cannot allocate memory for the buffer pool
150915 15:02:16 [ERROR] Plugin ‘InnoDB’ init function returned error.
150915 15:02:16 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
150915 15:02:16 [ERROR] Unknown/unsupported storage engine: InnoDB
150915 15:02:16 [ERROR] Aborting

150915 15:02:16 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

150915 15:02:16 mysqld_safe mysqld from pid file/mysql/data//git-shop.pid ended
150915 15:03:51 mysqld_safe Starting mysqld daemon with databases from /mysql/data/
150915 15:03:51 InnoDB: The InnoDB memory heap is disabled
150915 15:03:51 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150915 15:03:51 InnoDB: Compressed tables use zlib 1.2.7
150915 15:03:51 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
150915 15:03:51 InnoDB: Completed initialization of buffer pool
150915 15:03:51 InnoDB: Fatal error: cannot allocate memory for the buffer pool
150915 15:03:51 [ERROR] Plugin ‘InnoDB’ init function returned error.
150915 15:03:51 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
150915 15:03:51 [ERROR] Unknown/unsupported storage engine: InnoDB
150915 15:03:51 [ERROR] Aborting

150915 15:03:51 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

##后来改了还老是这个提示 直接重启机器 好了
150915 15:03:51 mysqld_safe mysqld from pid file /mysql/data//git.pid ended

解决

修改my.cnf ,设置innodb_buffer_pool_size=8M
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

http://houzhiqingjava.blog.163.com/blog/static/1673995072014984715393/
http://www.tuicool.com/articles/qm2Erq
http://www.cnblogs.com/zsmynl/p/3602319.html
http://www.cnblogs.com/hikarusun/p/3740431.html

Drupal Installation Guide

drupal乃是一个不错的cms
下载
https://www.drupal.org/project/drupal

安装时要用中文的记得看安装提示哦

Installation tasks
Choose profile(done)
Choose language(active)
Verify requirements
Set up database
Install profile
Configure site
Finished
Follow these steps to translate Drupal into your language:

Download a translation from the translation server.
Place it into the following directory:
/profiles/standard/translations/

打开 https://localize.drupal.org/download
找到
http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.39.zh-hans.po
放到 ./profiles/standard/translations/

rsync相关

1. -a选项

1) -a选项是rsync里比较霸道的一个选项,因为你使用-a选项,就相当于使用了-rlptgoD这一坨选项。以一敌七,唯-a选项也。(在看了前文之后,你应该可以很轻松的理解这七个选项的作用了)
2) -a选项的学名应该叫做archive option,中文叫做归档选项。使用-a选项,就表明你希望采取递归方式来同步,且尽可能的保持各个方面的一致性。
3) 但是-a选项也有阿克琉斯之踵,那就是-a无法同步“硬链接”情况。如果有这方面需求,要加上-H选项。

2.如果是第一次推送数据,建议加上-W参数,意思是不检查文件更新,直接传送整个文件,这样可以减少文件检测时间,节省程序总运行时间。
3. 如果想进一步节省程序运行时间,可在使用checksum的同时,加上—block-size=512这个参数(默认是700)。数值建议是500以上,并且是2的N次方,最大不超过2048。推荐512,1024,2048这三个值。
4. 在传输数据时,为了不影响线上正常业务,建议根据线上实际情况,通过—bwlimit=KPBS参数对带宽进行限制 我一般是 5000 这个在kali 2 上 rsync –help 为–bwlimit=RATE limit socket I/O bandwidth

《rsync同步的艺术》–linux命令五分钟系列之四十二

http://mayulin.blog.51cto.com/1628315/635017/
Linux远程备份工具Rsync使用案例

WordPress自动升级要求输入FTP信息

换了os后 发现  在WordPress后台自动升级时,或者更新、删除主题或者插件的时候,老是提示需要输入FTP账户信息, 我了去 ,怎么这样,解决方法如下:

方法一、如果使用虚拟主机,可以在wp-config.php里加入下面代码:

define(“FS_METHOD”, “direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);

方法二、如果使用独立服务器或VPS,可以修改网站所在目录属性:

chmod -R 755 /home/wwwroot
chown -R www /home/wwwroot

  其实出现这个的问题就是Apache/Nginx的执行身份非文件属主身份。

解决方法:

  假设你的wordpress安装目录为/home/wwwroot/wordpress

执行:

chown -R www /home/wwwroot/wordpress

  执行上面的命令就可以将/home/wwwroot/wordpress下所有文件的属主改为www,这样就可以解决自动更新必须填FTP的问题。

chown -R www *

就是把目录下所有文件和文件夹的所有者改成叫做www的用户。这样再去尝试WP的自动升级,一键升级就能顺利进行了。

注意:

必须是把wordpress程序文件上传到空间以后再执行该命令,顺序不能颠倒;
添加完虚拟主机以后,也必须把wordpress程序文件上传到空间以后,再执行该命令才有效!

电脑重装win7系统,总是提示“安装程序无法使用现有的系统分区,因为它没有包含所需的可用空间

如题,
重装系统时提示“安装程序无法使用现有系统分区,因为它没有包含所需的可用空间”。

昨天在帮一个老同事重装sony eb37 的WN7时 有遇到过; 解决方案:将100M的分区格式化后,就可以安排;

分析原因是sony eb37有日志保存功能,在安排系统时会保存日志。没有空间写日志 了,系统也就控制不让你安装;

但是又有很多网友说删除那个200M分区会出现各种数据问题!
问题1:分区的格式化是不是等于删除?
2:把那个200M的分区格式化会有什么影响?
3:我现在这种情况是不是需要格式化那个200M的分区?

bios 选择一个作为第一启动硬盘

进入bios —> 高级模式 —->
硬盘BBS属性 —-> 启动 —-> 启动

—-> —-> —-> —->

家里的PC 主板 华硕 P8H61-M LX
因为有三个硬盘 ,所以要选择一个作为第一启动硬盘,还真是有点烦,记下 先