【tech】CentOS8でFTPサーバ構築メモ (vsftpd使用)



公開:2020/09/01
更新:2020/09/01

要件


・OSユーザでログイン可能
・rootでのftpログインを禁止
・chrootによって制限
・特定のユーザはchrootの制限を受けない
・特定のユーザはログインディレクトリの変更

手順




・ユーザ確認
cat /etc/passwd

・ユーザ作成
useradd taro
passwd taro

useradd hana
passwd hana

・ftpディレクトリの作成
mkdir -p /ws/ftp/taro

・vsftpdのインストール
yum install -y vsftpd

・vsftpdの起動
systemctl enable --now vsftpd
systemctl status vsftpd

・FWの許可設定
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

・vsftpd.confの各設定を下記のように編集
vi /etc/vsftpd/vsftpd.conf


 grep -v -e '^#' -e '\s*#' /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
listen=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list

allow_writeable_chroot=YES

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40040
pasv_addr_resolve=YES

user_config_dir=/etc/vsftpd/user_conf

chroot除外ユーザの設定


vi /etc/vsftpd/chroot_list


taro


→chrootから除外したい人を記述
 chrootできない人は"/"とされる

・ディレクトリの変更
mkdir /etc/vsftpd/user_conf

vi /etc/vsftpd/user_conf/taro


local_root=/ws/ftp/taro


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

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

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



【tech】CentOS8.2のPHP7.2をPHP7.4へバージョンアップしたメモ



公開:2020/05/18
更新:2020/07/17

仕事でWORDPRESSを動かしているサーバメンテナンスの際、PHPのバージョンを7.2から7.4へアップグレード、バージョンアップさせたときのメモです。

環境


OS:CentOS8.2
PHPバージョンアップ前:7.2
PHPバージョンアップ後:7.4
DB:MariaDB 10.3

手順




※作業前は必ずバックアップを取っておきましょう

・epel追加
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

・remi追加
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

・既存PHPのPKGの確認
rpm -qa | grep php

php-cli-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64
php-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64
php-common-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64
php-fpm-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64
php-mysqlnd-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64
php-json-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64
php-pdo-7.2.24-1.module_el8.2.0+313+b04d0a66.x86_64

・既存PHPの削除
dnf remove php-*

・utilのインストール
sudo dnf -y install dnf-utils

・リセット
sudo dnf module reset php

・phpのインストール
sudo dnf module install php:remi-7.4
sudo dnf install --enablerepo=epel,remi php
sudo dnf install --enablerepo=remi php-mysqlnd




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

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

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



【tcsh】CentOS8.2にelastic stackをインストールするメモ



公開:2020/06/21
更新:2020/06/21

久々の更新となりました。
以前Elastic Searchと、kibanaをインストールしたblogと動画を投稿したのですが、いろいろ調べていると、logstashというログの収集役のソフトウェアがあったり、ログを転送する役割のfilebeatというソフトウェアがあったりしたので、一緒にインストールしてみました。

使い方はこれから笑

環境


仮想化:VirtualBox6.1
OS:CentOS8.2
IPアドレス:192.168.56.101

・接続イメージです。
クライアント → nginx → kibana → elasticsearch ← logstach
別のノード  → filebeat  → → → → → → →  ↑

・フロントにnginxを置いてbasic認証させる構成にしています。
・複数ホストで動かしたい場合はnginxのproxypassを変更して各elk stackのノードに転送させてあげてください。
・filebeatは別ノードに入れて、別のノードのログを転送させる事ができますが、メモのため同一ノードに入れています。ご自由にアレンジしてみて下さい。(やり方がわからなければコメント下さい)

手順





・SELinuxをオフにする
vi /etc/sysconfig/selinux

SELINUX=disabled

・Firewallの許可設定
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=5044/tcp --permanent
 ※filebeatのためのポートの許可

・設定反映のためにリブート
reboot

・OpenJDKのインストール
sudo dnf install -y java-11-openjdk-devel

・ディレクトリの確認
which java
→/usr/bin/java

・JAVAの環境設定
cat > /etc/profile.d/java11.sh <<EOF
export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac)))))
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
EOF

・ファイルの読み込み
source /etc/profile.d/java11.sh



・ELKのリポジトリ追加
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

・ディレクトリ移動
cd /etc/yum.repos.d/

・リポジトリファイルの作成
vi elasticsearch.repo


[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md


・ELKのインストール
sudo dnf install -y elasticsearch kibana logstash

ElasticSearchのセットアップ





・Elastic Serachの設定フォルダへ移動
cd /etc/elasticsearch/

・設定ファイルの編集
vi elasticsearch.yml
下記のディレクティブのコメントを外す。


network.host: 127.0.0.1
http.port: 9200


・ヒープサイズの変更
vi jvm.options


-Xms512m
-Xmx512m


・ElasticSearchの自動起動
sudo systemctl enable elasticsearch

・ElasticSearchのステータス確認
sudo systemctl status elasticsearch

・ElasticSearchの起動
sudo systemctl start elasticsearch

・ElasticSearchのステータス確認
sudo systemctl status elasticsearch

kibanaのセットアップ





・kibanaの設定ファイルディレクトリへ移動
cd /etc/kibana/

・kibanaの設定ファイルを更新
vi kibana.yml
→下記のディレクティブのコメントアウト


server.port: 5601
server.host: "127.0.0.1"
elasticsearch.url: "http://127.0.0.1:9200"


・kibanaの自動起動
sudo systemctl enable kibana

・kibanaのステータス確認
sudo systemctl status kibana

・kibanaの起動
sudo systemctl start kibana

・kibanaのステータス確認
sudo systemctl status kibana

Nginxのセットアップ




・Nginxのインストール
sudo dnf install -y nginx httpd-tools

・Nginxの設定ファイルインクルードディレクトリへ移動
cd /etc/nginx/conf.d/

・kibana用のconfファイル作成
vi kibana.conf

server {
    listen 80;

    server_name 192.168.56.101;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;

    location / {
        proxy_pass http://127.0.0.1:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

・basic認証を作成
sudo htpasswd -c /etc/nginx/.kibana-user kusomemo
→任意PW入力。※ここでは「tokyo」とします

ユーザ:kusomemo
PW:tokyo

・設定ファイルの確認
nginx -t

・nginxの自動起動
sudo systemctl enable nginx

・nginxのステータス確認
sudo systemctl status nginx

・nginxの起動
sudo systemctl start nginx

・nginxのステータス確認
sudo systemctl status nginx

logstashのセットアップ




・logstashの設定ディレクトリに移動
cd /etc/logstash/

・ヒープサイズの変更
vi jvm.options


-Xms512m
-Xmx512m


・設定ファイルのインクルードディレクトリに移動
cd /etc/logstash/conf.d/

・インプットポートの設定ファイル作成
vi input-beat.conf

input {
  beats {
    port => 5044
  }
}

・syslogフィルタconf作成
vi syslog-filter.conf

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:[%{POSINT:syslog_pid}])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

・elasticsearch向けoutputのconfファイル作成
vi output-elasticsearch.conf

output {
  elasticsearch { hosts => ["127.0.0.1:9200"]
    hosts => "127.0.0.1:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

・logstashの自動起動
sudo systemctl enable logstash

・logstashのステータス確認
sudo systemctl status logstash

・logstashの起動
sudo systemctl start logstash

・logstashのステータス確認
sudo systemctl status logstash

Filebeatのインストール





※この手順メモは別ノードにfilebeatをインストールする事を想定しています。
 同一ノードでの作業の場合、GPGキーのインストールからリポジトリの設定は既に実施済みの為、不要です。

・GPG-KEYのインストール
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

・ディレクトリの移動
cd /etc/yum.repos.d/

・リポジトリの設定
vi elasticsearch.repo


[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md


・filebeatのインストール
sudo dnf install -y filebeat

・filebeatの設定ディレクトリに移動
cd /etc/filebeat/

・設定ファイルの編集
vi filebeat.yml
→elasticsearch向けのディレクティブをコメントアウトし、
 logstash向けの設定を記述

#output.elasticsearch:
  # Array of hosts to connect to.
  #hosts: ["localhost:9200"]

output.logstash:
  # The Logstash hosts
  hosts: ["192.168.56.101:5044"]

・moduleが読み込めるか確認
filebeat modules list

・systemモジュールをenable
filebeat modules enable system

・ディレクトリの移動
cd /etc/filebeat/

・systemモジュールの編集
vi modules.d/system.yml
→var.pathを追記

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/messages"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/secure"]

・filebeatの自動起動
sudo systemctl enable filebeat

・filebeatのステータス確認
sudo systemctl status filebeat

・filebeatの起動
sudo systemctl start filebeat

・filebeatのステータス確認
sudo systemctl status filebeat

動作確認





・ELKサーバにアクセス
http://192.168.56.101/

Username:kusomemo
PW:tokyo

kibanaのダッシュボードが表示されれば想定通りです。

もし表示されてなければ、転送・連携処理がうまくいってなかったり
サービスが起動していなかったりすると思いますので、
systemctlでelkやnginxが起動しているかどうか
ss -antでリッスンできているかどうかをご確認お願いいたします。

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

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

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



【tech】CentOS8でダミーファイルを作成する方法



公開:2020/05/12
更新:2020/05/12

仕事でhttp通信確認をしていて、大きめのダミーファイルを作成する必要があったので、調べたメモです。

・10メガバイトの「bigfile」というダミーファイルを作るときのコマンドです。
fallocate -l 10m bigfile

※GBだと「fallocate -l 1g bigfile」、kbだと「fallocate -l 1k bigfile」500バイトだと「fallocate -l 500 bigfile」となります




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

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

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



【tech】CentOS8の初期設定まとめメモ(ユーザ・グループ作成など)



公開:2020/05/13
更新:2020/05/13

最近自宅環境の整備ばっかりやっているのですが、自宅サーバにVMを作りまくっていたら、パーティションの設定がうまくできておらず、root領域が枯渇してしまっていました。。

やっぱり、基本に立ち返り、作業用ユーザを作ったり、グループ管理や、権限管理などしっかりして普段のプライベート使いから感覚を身に着けていかなきゃいけないなと思うようになりました。

まだ作成途中ですが、Linuxをインストールしたり、自宅環境を作った時の初期設定をまとめていこうと思います。

環境


OS:CentOS8

手順





・既存ユーザの確認
cat /etc/passwd

・ユーザ作成
useradd mas

・PW設定
passwd mas123

・既存グループの確認
cat /etc/group

・グループの作成
groupadd op

・masをopグループに追加
usermod -aG op mas

・sudoできるようにする場合は
usermod -aG wheel mas

・masにスイッチ
su mas

・所属しているグループを確認
id

コマンドメモ

・カーネルの確認
uname -r

・pciデバイスの確認
lspci

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

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

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