Proxy

故障排除 bip 代理伺服器配置:致命:mkdir($HOME/.bip/logs) 沒有這樣的文件或目錄

  • April 10, 2014

我正在嘗試bip在代理伺服器(即 AWS EC2 實例 - 虛擬私有伺服器)上進行設置,當我嘗試使用以下命令執行它時:

'sudo /usr/bin/bip -f .bip/bip.conf`

從我的/home/user目錄中,我收到以下消息:

FATAL: mkdir($HOME/.bip/logs) No such file or directory

我相信我的~/.bip/bip.conf文件不正確,因為我可以從預設配置文件~/.bip/bip_copy.conf所在的位置執行命令。bip_copy.conf我的~/.bip/bip.conf文件在下面。

echo $HOME返回/home/ubuntu(我一直在呼叫我的命令)。我的~/.bip/目錄也包含我的bip.conf文件和logs目錄。

我一直按照這些教程作為指導,但它們並沒有幫助我解決這種情況:

http://blog.dustinkirkland.com/2011/08/keep-one-ssh-tunnel-to-bip-proxy-server.html http://nerderati.com/2010/11/perpetual-irc-the-proxy-edition/ https://wiki.linaro.org/Resources/HowTo/BIP

我的bip.conf

# bip default config file.
# Thou shoult change thy password

ip = "0.0.0.0";

# To connect a client to bip, try the port below, and
# be sure to set the password to the value
# specified in the network you want to connect to. 
port = 6667;

# If you set this to true, you'll only be able to connect to bip
# with a SSL capable IRC client. Be sure to generate a certificate
# for bip with 'make cert'
client_side_ssl = false;

log_level = 2;

pid_file="$HOME/.bip/bip.pid";

# This is where logs go. Channel and private messages will use that
# configuration value as a prefix, and then log_format to determine
# full log filename.
log_root = "$HOME/.bip/logs";

# Log format allows you to make log filenames depend on the log line's
# attributes. Here's a list :
# %u -> user name
# %n -> network name
# %Y -> 4 digit year
# %m -> 2 digit month
# %d -> 2 digit day
# %c -> destination (#chan, privates, ...)
#log_format = "%n/%Y-%m/%c.%d.log";

# Sets the frequency (in seconds) of log syncing (real write to kernel)
log_sync_interval = 5;

# Makes bip send the log of each channel and privates while
# you were not connected to the proxy upon connection. 
#backlog = true;        # enable backlog
# backlog_lines = 10;       # number of lines in backlog, 0 means no limit
# backlog_always = true;        # backlog even lines already backlogged
backlog = true;
backlog_lines = 200; 
backlog_always = false;
backlog_reset_on_talk = false;
# backlog_reset_connection = false;
backlog_msg_only = true; 

# If blreset_on_talk talking on an irc network has the same effect of issuing
# /bip blreset, meaning that stuffed logged before the command won't be read
# back on backlog
#blreset_on_talk = false;

# Network definition, a name and server info

network {
   name = "freenode";
   server { host = "irc.freenode.net"; port = 6667; };
};


# Configuration example with one user who connects to two irc networks
# To use the multi-server feature:
#  - define the connections
#  - chose and setup a different login for each connection
# on your irc client:
#  - Use the multi server feature of your client, the server beeing each time
#    the server where bip is running. In your client setup server password to:
#      username:password:connectionname
#  - do not store the password in clear here, use the bipmkpw util to generate
# a hash

# User structure is grouping information for a given user
user {
   # The name in bip of the user
   # This is used by bip only
   name = "lucas";

   # this user's password (md5(md5("tata"))) with seed - generated by bipmkpw
   password = "f3d93275fa....";


   # SSL certificates checking mode for user:
   # - "none" to accept anything;
   # - "basic" to accept if the certificate is contained in the store;
   # In "basic" mode, encountered untrusted certificates can be added to
   # the store interactively by connecting a client and "trusting" them.
   # - "ca" to do a complete certificate chain checking with the objects
   # in the store below (you have to put in it every cert, CRL, up to the
   # root CA). You have to build your store manually, so you may prefer
   # using "basic" unless you're a crypto zealot...
   ssl_check_mode = "none";

   # Location of the user's store for SSL certificate check
   # In "basic" mode, that must point to a single file with all trusted
   # certs concatenated together (the interactive "trust" appends to this
   # file).
   # In "ca" mode, it's a directory of a standard openssl store; you must
   # put PEM objects (certificates, CRLs...) with .pem extension and run
   # `c_rehash .' in it
   # ssl_check_store = "/home/bip`debian/.bip/trustedcerts.txt";

   # These will be the default for each connections
   default_nick = "testNickname";
   default_user = "testNickname";
   default_realname = "lucas";



   connection {
       name = "freenode";              # used by bip only
       network = "freenode";           # which IRC network to connect to

# Autojoined channels:
       channel { name = "#gslug"; };
       channel { name = "#help"; };
#       channel { name = "#help"; backlog = false; };
   };
};

當您$HOME在命令行或 shell 腳本中鍵入時,它會被 shell 擴展。在配置文件中,除非應用程序手冊中另有說明,否則$HOME表示美元,大寫 H,大寫 O,大寫 M,大寫 E。所以更改行

pid_file="$HOME/.bip/bip.pid";

pid_file="/home/ubuntu/.bip/bip.pid";

同樣對於log_root.

引用自:https://unix.stackexchange.com/questions/124057