【tech】Nginxで起動エラーnginx: [emerg] getpwnam("nginx") failed



ソースからNginxをインストールしていて、躓いたでメモしておきます!

・エラー
nginx: [emerg] getpwnam("nginx") failed


[root@localhost]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: [emerg] getpwnam("nginx") failed
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
[root@localhost]#


・原因
nginxユーザが居ないせい?

・対処法
vi /usr/local/nginx/conf/nginx.conf
でconfファイルを開き


#user nobody;


のコメントアウトを外して再度confテストすると解決していました。
[root@localhost]# /usr/local/nginx/sbin/nginx -t



[root@localhost]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost]#


試してないのでわかりませんが、nginxユーザを追加してもエラーが出なくなると思います。

nginx: [emerg] getpwnam("nginx") failed


久しぶりにみてみると、モバイルバッテリーもメモリもSSDもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のRedmineの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)

【tech】vsftpdでchroot設定しようとしたらログインできなかったメモ




vsftpdでchroot設定をすると、パスワードはあっているはずなのにログインできないという事象にあたり、これもなかなかハマったのでメモしておきます。
色々と調べた結果、FTP先のホームディレクトリに書き込み権限がある時は、vsftpd.confに追加しなくてはいけないディレクティブがあることがわかりました。

・原因
結局つかめず。。調べた感じだとホームディレクトリに書き込み権限があるせい?

・対処法
vsftpd.confに「allow_writeable_chroot=YES」を追記

環境


ホストOS:CentOS7.5
FTPサーバ:vsftpd
IPアドレス:192.168.56.151
ユーザ:testuser
FTP先のホームディレクトリ:/home/testuser

chrootの設定済み




・手順
・ディレクトリ移動
cd /etc/vsftpd

・設定ファイル編集
vi vsftpd.conf
→最下行へ「allow_writeable_chroot=YES」追記

・vsftpd再起動
systemctl restart vsftpd

vsftpのアクセスリストまわり(YESの時はホワイトリスト~とかNOならブラックリスト~という制御)ほんとややこしいですよね。。何度も再現させて理解していきたいと思います!!FTPって一度設定してしまうと触る事ないのでなかなか身に付きませんが、みんなが知らない事こそ、さらっと答えちゃうとカッコいいですよね!


・エラーログ


[root@localhost ~]# ftp 192.168.56.151
Connected to 192.168.56.151 (192.168.56.151).
220 (vsFTPd 3.0.2)
Name (192.168.56.151:root): testuser
331 Please specify the password.
Password:
500 OOPS: chroot
Login failed.
421 Service not available, remote server has closed connection


さいごに私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

下のRedmineとZabbixの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)

【tech】Rubyのbundlerでpermission deniedエラー




ubuntu1804にRedmine4.0をインストールしようとしているのですが、思っていたよりハマってしまっていて、勉強になっていてとても楽しいです。笑
インストールできました!
nginxで動かしています!

rubyのPKG管理ツールのBundlerを使用してGem PKGをインストールしようとしているのですが、permmision deniedがでたので解決方法を調べたメモです。

環境


ホストOS:Windows10
仮想化:virtualbox
ゲストOS:ubuntu1804
ユーザ・グループ:red-test

・原因
エラーログに記載されているファイルの権限エラー

・解決方法
ファイルへ権限付与

・エラーログ
Errno::EACCES: Permission denied @ rb_sysopen -
/var/lib/redmine/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/nokogiri-1.9.1/gem_make.out

手順



・ディレクトリの移動
cd /var/lib/redmine/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0

・権限の確認
ls -l


drwxr-xr-x 3 red-test red-test 4096 12月 26 00:47 ./
drwxr-xr-x 3 red-test red-test 4096 12月 26 00:35 ../
drwxr-xr-x 2 root root 4096 12月 26 00:47 nokogiri-1.9.1/


→所有者・グループがrootのなのでpermmision deniedエラーが出ていると推測

・権限の変更
sudo chown -R red-test:red-test nokogiri-1.9.1/
→-Rオプションは再帰的に実行

これでコマンドの実行はできましたが、この問題を解決できても新たな問題にあたってRedmine4のインストールはできませんでした。泣笑

引き続き頑張ります!

ubuntu@ubuntu-VirtualBox:/var/lib/redmine$ sudo -u red-test bundle install --without development test --path vendor/bundle
`/home/ubuntu` is not writable.
Bundler will use `/tmp/bundler/home/ubuntu' as your home directory temporarily.
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 12.3.2
Using concurrent-ruby 1.1.4
Using i18n 0.7.0
Using minitest 5.11.3
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using activesupport 5.2.2
Using builder 3.2.3
Using erubi 1.8.0
Using mini_portile2 2.4.0
Fetching nokogiri 1.9.1
Installing nokogiri 1.9.1 with native extensions
Errno::EACCES: Permission denied @ rb_sysopen -
/var/lib/redmine/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/nokogiri-1.9.1/gem_make.out
An error occurred while installing nokogiri (1.9.1), and Bundler
cannot continue.
Make sure that `gem install nokogiri -v '1.9.1' --source
'https://rubygems.org/'` succeeds before bundling.


In Gemfile:
  rails was resolved to 5.2.2, which depends on
    actioncable was resolved to 5.2.2, which depends on
      actionpack was resolved to 5.2.2, which depends on
        actionview was resolved to 5.2.2, which depends on
          rails-dom-testing was resolved to 2.0.3, which depends on
            nokogiri



楽天トラベル

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

【tech】ubuntu1804 LTSのsudo apt-get updateでエラー



ubuntでエラーが出たので色々調べたメモです。
ubuntu1804でapt-get updateしようとするとエラーが出てupdateできませんでした。
原因はセキュリティソフトの関係でPKGがgetできなかった?という事でしょうか。。

環境


ホストOS:windows10
仮想化:virtualbox
ゲストOS:ubuntu1804

実は、原因・解決策がはっきりとはわかりませんでした。。。

色々と調べていると、セキュリティソフトのカスペルスキーをオフにしたら解決したという記事を見たので、わたしも参考にして、Windows WefenderのFirewallをオフにしてみたところupdateができました。


というよりは、、update最中にFirewallを切ってしまったので、結局のところFWを切ったせいでupdateに成功したのか何なのかわからないんです。。。
よくないですよね、あと、connection failのログを見た感じだと、firewallを切らなくても80番ポートを開けてあげればよかったんですよね?

以下エラーログです


ubuntu@ubuntu-VirtualBox:~$ sudo apt-get update
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Hit:2 http://jp.archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:5 http://archive.ubuntulinux.jp/ubuntu bionic InRelease
Hit:6 http://archive.ubuntulinux.jp/ubuntu-ja-non-free bionic InRelease
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Err:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
Connection failed [IP: 91.189.91.26 80]
Reading package lists... Done
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease Connection failed [IP: 91.189.91.26 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.


久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】vsftpdのログインディレクトリを変更するメモ




CentOS7にVSFTPDをインストールしてFTPサーバを構築しています。
FTP用のディレクトリをつくって、各ユーザがFTPアクセスしてきたとき、指定のFTP用ディレクトリにアクセスされるようにする設定をメモしています。

目的


・ユーザ「testuser」のFTP接続時のホームディレクトリを
 /ws/ftp/testuser
 へ変更したい。

前提


ホストOS:CentOS7
FTP:vsftpd
ユーザ:testuser

・FTPの設定が済んでいる →FTP接続参照
・FTP用ユーザ作成が済んでいる
・FTP用ユーザがchrootの対象外である
 (homeディレクトリより上の階層に行く事ができる)


・vsftpdの設定ファイルがあるディレクトリに移動
cd /etc/vsftpd/

・配下のファイルを確認
ls

・ユーザのデフォルトディレクトリ指定用の設定ファイルを
 配置する為のディレクトリを作成する
mkdir vsftpd_user_conf

・vsftpdの設定ファイルにディレクトリを追記
vi vsftpd.conf
→下記のディレクティブを追記


user_config_dir=/etc/vsftpd/vsftpd_user_conf




・作成したディレクトリを確認
ls
→vsftpd_user_confがある事を確認

ユーザ毎のホームディレクトリを設定


・ディレクトリの移動
cd vsftpd_user_conf

・ユーザ毎のホームディレクトリファイルを作成
vi testuser
→下記のディレクティブを追記


local_root=/ws/ftp/testuser




・vsftpdを再起動
systemctl restart vsftpd

・FTP接続して確認する
ftp 192.168.56.150

testuser
testuserPW

pwd
>/workspace/ftp/testuser
これで成功!



うまくいかないときは


vsftpdのアクセス制御はややこしいので一つずつ確認していく。

・ftpusersファイル(FTPサーバへのアクセス制限ファイル)
ここに記載されているユーザはFTPサーバへアクセスできません。

・user_listファイル(FTPサーバへのアクセス制限ファイル)
vsftpd.confの設定により、振る舞いが変わります。
-user_listファイルを「許可リスト」として使用する場合
 -userlist_enable=YES (ユーザリストを使用する=YES)
 -userlist_deny=NO (ユーザリストを「拒否リスト」にする=NO)
            ※拒否リストにしない → 許可リストとして使用する

-user_listファイルを「拒否リスト」として使用する場合
 -userlist_enable=YES (ユーザリストを使用する=YES)
 -userlist_deny=YES (ユーザリストを「拒否リスト」にする=YES)

・chroot_listファイル(上位ディレクトリへのアクセス制限ファイル)
ここに記載されているユーザのみがホームディレクトリより
上位ディレクトリに移動できるようになります。
rootも記載する必要がありそうです(要調査)




さいごに私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

下のRedmineとZabbixの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)