カテゴリ: CentOS

検索結果: 23件

article-thumbnail

CentOS7にバージョンを指定してMariaDBをインストールする

【概要】CentOS7に指定したバージョンのMariaDBをインストールする方法についてまとめます。ここでは2020/12/22現在、Old Stable版の10.4をインストールする方法を例として記述します。【詳細】1. インストール済みパッケージの確認yum list installed | grep -i mariadb2. 古いバージョンを削除するyum remove mariadb-libs3. MariaDB.repoを作成するインストールしたいバージョンのMariaDB.repoを作成する必要があります。MariaDB FoudationのサイトにてOS、バージョンを指定して設定内容を取得します。自分が実行したバージョンは「CentOS」「CentOS 7 (x86_64)」「10.4 [Old Stable]」を押下後、作成するMariaDB.repoの内容が出力されます。・MariaDB.repo作成touch /etc/yum.repos.d/MariaDB.repo・MariaDB.repoに設定を記述するvi /etc/yum.repos.d/MariaDB.repo設定内容# MariaDB 10.4 CentOS repository list - created 2020-12-16 07:55 UTC# http://downloads.mariadb.org/mariadb/repositories/[mariadb]name MariaDBbaseurl http://yum.mariadb.org/10.4/centos7-amd64gpgkeyhttps://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck14. MariaDBをインストールするyum install MariaDB-server MariaDB-client・インストール実行例下記はインストールコマンド実行時の出力結果例です。以下のように10.4のバージョンがインストールする事が明示されれば成功です。...省略...Dependencies ResolvedPackageArchVersionRepositorySizeInstalling:MariaDB-clientx86_6410.4.17-1.el7.centosmariadb12 MMariaDB-serverx86_6410.4.17-1.el7.centosmariadb26 M...省略...Cf. MariaDB-develをインストールするyum install MariaDB-devel5. MariaDBバージョン確認mysql -V出力結果例mysqlVer 15.1 Distrib 10.4.17-MariaDB, for Linux (x86_64) using readline 5.1無事MariaDB10.4がインストールされた事が確認できました。

カテゴリ: CentOS 2020-12-22 01:22:02
article-thumbnail

CentOS7にdocker-composeをインストールする

【概要】CentOS7にdocker-composeをインストールする方法についてまとめます。まだ、Dockerをインストールしていない場合は下記の記事を参考にインストールしておいて下さい。CentOS7にDockerをインストールする【詳細】1. docker-composeをインストールするcurl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose※ 上記の1.27.4のバージョンは2020/11/07時点での最新バージョンになります。最新バージョンを指定するには下記のGitページに記述されているバージョンを確認し、1.27.4のバージョンを最新バージョンに書き換えて実行して下さい。https://github.com/docker/compose2. docker-composeに実行権限を付与するchmod +x /usr/local/bin/docker-compose3. docker-composeのシンボリックリンクを貼るln -s /usr/local/bin/docker-compose /usr/bin/docker-compose4. 確認i. バージョン確認docker-compose -v出力結果例docker-compose version 1.27.4, build 40524192ii. パス確認which docker-compose出力結果例/usr/local/bin/docker-compose

カテゴリ: CentOS 2020-11-07 02:43:18
article-thumbnail

CentOS7にDockerをインストールする

【概要】CentOS7にDockerをインストールする方法についてまとめます。【詳細】0. Dockerがインストールされている場合、削除するyum remove docker docker-common docker-selinux docker-engine1. Dockerに必要なパッケージをインストールするyum install -y yum-utils device-mapper-persistent-data lvm22. Dockerのレポジトリ追加yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo3. yumのパッケージインデックスを更新する推奨されている項目なので、念の為実行しております。yum makecache fast4. Dockerインストールi. インストール可能なバージョンを確認するyum list docker-ce.x86_64 --showduplicates | sort -r出力結果例docker-ce.x86_643:19.03.9-3.el7docker-ce-stable...省略...docker-ce.x86_643:18.09.9-3.el7docker-ce-stable...省略...docker-ce.x86_6418.06.3.ce-3.el7docker-ce-stable...省略...docker-ce.x86_6417.12.1.ce-1.el7.centosdocker-ce-stable...省略...ii. インストールyum install docker-ceiii. Dockerバージョン確認docker -v出力結果例Docker version 19.03.13, build 4484c46d9d5. 起動と自動起動設定systemctl start dockersystemctl enable docker6. Docker確認・前提これまではrootユーザーでの実行を想定しております。この6の項目はDocker環境を構築する任意のユーザーになって実行して下さい。i. hello-worldを起動してみるsudo docker run hello-worldii. hello-worldイメージがpullされたか確認するsudo docker images出力結果例REPOSITORYTAGIMAGE IDCREATEDSIZEhello-worldlatestbf756fb1ae6510 months ago13.3kBiii. hello-worldコンテナを確認するsudo docker ps -a出力結果例CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMEScfd0f4d2637ahello-world"/hello"18 seconds agoExited (0) 17 seconds agojovial_bhaskaraiv. hello-worldイメージを削除するsudo docker rmi bf756fb1ae65「bf756fb1ae65」はイメージIDなので、環境に合わせて変更して下さい。v. hello-worldコンテナを削除するsudo docker rm cfd0f4d2637a「cfd0f4d2637a」はコンテナIDなので、環境に合わせて変更して下さい。

カテゴリ: CentOS 2020-11-05 03:45:45
article-thumbnail

CentOS7にnvmを使用してNode.jsとnpmをインストールする

【概要】CentOS7にnvmを使用してNode.jsとnpmをインストールする方法をまとめます。ここでは最新バージョンや特定のバージョンのインストール等をまとめているのでCentOS7にNode.jsとnpmの環境構築したい方は参考にしてみて下さい。[注意点]下記はrootユーザーでの設定を記載しております。ec2-user等の一般ユーザーにも設定したい場合は同じ事を対象のユーザーで実行して下さい。【詳細】1. rootユーザーになるrootユーザーでインストールを実行したい為、下記のコマンドを実行します。sudo su -2. nvmをインストールするcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash3. nvmを有効化する・有効化. ~/.nvm/nvm.sh・.zshrcにパスを通すexport NVM_DIR"/root/.nvm"[ -s "$NVM_DIR/nvm.sh" ] amp;amp; . "$NVM_DIR/nvm.sh"※ 「NVM_DIR"/root/.nvm"」はrootユーザー用の設定になっているので、rootユーザー以外で設定する場合は適切なPATHに変えて下さい。4. nvmでNode.jsをインストールするi. Node.jsのインストール可能なバージョンを確認するnvm ls-remoteii. Node.jsをインストールする・最新版のNode.jsをインストールnvm install --lts・バージョン指定してインストールするnvm install v15.0.15. Node.jsとnpmのインストール確認node -vnpm -vこれでNode.jsとnpmのバージョンが出力されれば、インストール成功です。6. nvmでalias設定を行うaliasを状況に合わせて設定すると使用するNode.jsとnpmのバージョンを定義できます。下記ではdefaultのaliasを設定している為、通常時に使用するバージョンはv14.14.0となります。・構文nvm alias default バージョン・例文nvm alias default v15.0.1Cf. インストールしたNode.jsのバージョンをアンインストールする・構文nvm uninstall バージョン・例文nvm uninstall v15.0.1

カテゴリ: CentOS 2020-10-29 00:54:12
article-thumbnail

CentOS6にMySQL8系のインストールと初期設定方法まとめ

【概要】CentOS6系のサーバーにMySQL8系をインストールする方法をまとめます。【詳細】1. レポジトリ関係i. レポジトリインストールyum install yum-utilsyum install https://dev.mysql.com/get/mysql80-community-release-el6-3.noarch.rpmii. レポジトリ有効化yum-config-manager --enable mysql80-community2. MySQLインストールyum install mysql-server3. MySQLインストールとバージョン確認i. インストール確認which mysql出力結果/usr/bin/mysqlii. MySQLバージョン確認mysql -V出力結果例mysqlVer 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)4. MySQL起動と自動起動設定i. 起動service mysqld startii. 自動起動設定chkconfig mysqld on【初期設定】1. MySQLのroot@localhostの一時パスワードを調べるgrep 'temporary password' /var/log/mysqld.log・出力結果例2019-09-10T06:31:50.438223Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: fmWwkEMeq9.N上記の最後に出力された「fmWwkEMeq9.N」がroot@localhostの一時パスワードです。2. MySQLの初期設定下記のコマンドはMySQLの最低限のセキュリティ設定を行うコマンドです。コマンドを実行するとパスワードの再設定等の各種設定に行います。mysql_secure_installation・rootのパスワードを変更Change the password for root ? ((Press y|Y for Yes, any other key for No) : yここで新規設定したパスワードがMySQLのroot権限を使用する場合に必要なるのでメモを取っておいて下さい。・変更したパスワードで設定を進めますか?Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y変更したパスワードで進めるので「y」。・anonymous ユーザーの削除しますか?Remove anonymous users? (Press y|Y for Yes, any other key for No) : yanonymous ユーザーの削除なので「y」。・リモートからrootユーザーでアクセス拒否しますか?Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yこの質問は要注意です。セキュリティを高めるのであればリモートからのrootログインを拒否した方が良いので「y」を選択します。しかし、リモートからrootログインを許可したいシステムの場合は「n」を選択して下さい。・testデータベースの削除しますか?Remove test database and access to it? (Press y|Y for Yes, any other key for No) : ytestデータベースの削除 (存在する場合)するので「y」。・設定の即時反映しますか?Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y反映させる為、「y」。3. MySQLログインとユーザー確認i. MySQLログインmysql -u root -pパスワード「hogehoge1234」ii. ユーザー確認SELECT user, host, plugin FROM mysql.user;出力結果+------------------+-----------+-----------------------+| user| host| plugin|+------------------+-----------+-----------------------+| mysql.infoschema | localhost | caching_sha2_password || mysql.session| localhost | caching_sha2_password || mysql.sys| localhost | caching_sha2_password || root| localhost | caching_sha2_password |+------------------+-----------+-----------------------+4. MySQLのログイン認証を変更[概要]MySQL8系から「caching_sha2_password」認証がデフォルトになりました。MySQL8以前のバージョンの認証は「mysql_native_password」です。また、LaravelでmigrateしようとしたりDB接続しようとする時にエラーが起きる原因となります。よって、以前の「mysql_native_password」認証に変更することをお勧めします。もし、「caching_sha2_password」認証で問題ない場合はこの項目は飛ばして下さい。[手順]i. rootユーザーの認証変更ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'hogehoge1234';ii. 変更確認SELECT user, host, plugin FROM mysql.user;出力結果+------------------+-----------+-----------------------+| user| host| plugin|+------------------+-----------+-----------------------+| mysql.infoschema | localhost | caching_sha2_password || mysql.session| localhost | caching_sha2_password || mysql.sys| localhost | caching_sha2_password || root| localhost | mysql_native_password |+------------------+-----------+-----------------------+5. MySQLの文字コード確認※ MySQLにログインした状態で下記コマンドを実行します。status出力結果--------------......Server characterset:utf8mb4Dbcharacterset:utf8mb4Client characterset:utf8mb4Conn.characterset:utf8mb4......--------------6. ユーザー作成rootユーザー以外を作成したい場合はこの項目を実行して下さい。ここでは例としてdevelop@localhostユーザーを作成します。・developユーザー作成CREATE USER 'develop'@'localhost' IDENTIFIED BY 'develop用パスワード';・developユーザーに権限付与GRANT ALL ON *.* TO 'develop'@'localhost' WITH GRANT OPTION;・developユーザーの認証をmysql_native_password認証に変更するALTER USER 'develop'@'localhost' IDENTIFIED WITH mysql_native_password BY 'develop用パスワード';

カテゴリ: CentOS 2020-10-28 00:18:51
article-thumbnail

CentOS6系にnvm・Node.js・npmをインストールする

【概要】CentOS6系統のサーバーにnmvインストールし、Node.jsとnpmをインストールする方法をまとめます。この項目はGitのバージョンが2以上必要です。もしCentOS6にGitのバージョンが1.7等の1系がインストールされている場合は下記のリンクを元にGitのバージョンをアップデートして下さい。CentOS6にGit2系をインストール・アップデートする【nvm・Node.js・npmインストール】1. nvmインストールcurl -o- https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash2. nvmインストール確認nvm --version出力結果例0.33.83. インストール可能なNode.jsのバージョン確認nvm ls-remote4. Node.jsをインストールする下記にバージョンを指定したインストール方法を記載しています。環境に合わせてインストールして下さい。i. 最新のstable版をインストールする場合nvm install stableii. 最新版のNode.jsをインストールするnvm install --ltsiii. バージョン指定する場合nvm install v11.15.0上記は「v14.14.0」をインストールする場合のコマンドです。Cf. インストール済みNode.jsのリストを見るnvm ls5. 使用するNode.jsのバージョンを指定するnvm use v11.15.06. nvmでalias設定を行う・構文nvm alias default バージョン・例文nvm alias default v11.15.0Cf. インストールしたNode.jsのバージョンをアンインストールする・構文nvm uninstall バージョン・例文nvm uninstall v6.8.0

カテゴリ: CentOS 2020-10-12 23:59:19
article-thumbnail

CentOSでのcron設定まとめ

【概要】CentOSでcron設定をする方法についてまとめています。【初期設定】[cron起動]1. crondの状態確認systemctl status crondcrondが存在するか、また起動しているかを確認します。2. crond起動と自動起動設定crondが起動していない場合、下記のコマンドで起動、自動起動設定を行います。systemctl start crondsystemctl enable crond[cron設定]・cron設定コマンドcrontab -e・cron設定の構文分 時 日 月 曜日 コマンド・例文Node.jsのファイルを毎分実行し、そのログを残しておきたいとします。その場合下記のような記述になります。* * * * * node /home/develop/app/index.js /home/develop/app/logs/cron.logCf. cron設定確認コマンドcrontab -l【cron設定例】1. 複数実行時間指定「0,10,20,30」の設定を分の部分に設定したとします。(それ以外の設定は*とします)その場合、実行時刻は0分、10分、20分、30分に実行されます。0,10,20,30 * * * *つまり、カンマで区切ると複数の実行対象が設定されます。2. 範囲指定「10-19」の設定を時間部分に設定したとします。その場合、10時から〜19時の間は毎分cronを実行する事になります。* 10-19 * * *3. 間隔設定「*/10」の設定を分設定部分に記述したとします。その場合、10分おきにcronが実行されます。*/10****

カテゴリ: CentOS 2020-10-10 01:05:57
article-thumbnail

CentOSにてyumでインストールしたパッケージをアンインストールする方法

【概要】 CentOSにてyumでインストールしたパッケージをアンインストールする方法をまとめます。【基本構文】本構文は下記になります。yum remove パッケージ名【例文】[概要]インストール済みのPHPと関連のパッケージをアンインストールする方法を例としてまとめます。[手順]1. 必要な設定ファイルを保存するPHPであればphp.ini等の設定ファイルがあります。設定ファイルを取っておきたい場合、cpコマンドでコピーを作成して下さい。ここではphp.iniをコピーします。cp /etc/php.ini /etc/php.ini.oldVer2. 既存のPHPを削除するyum remove php php-*3. PHP削除確認PHPがアンインストールされているか確認します。php -v出力結果例zsh: command not found: php

カテゴリ: CentOS 2020-09-18 01:53:23
article-thumbnail

CentOS7の初期環境構築

【概要】CentOS7を初期環境構築する時のドキュメントです。ここではSELINUXの停止、ZSH、peco、ユーザー作成と設定、SSHポートの変更、タイムゾーンの設定等を行います。サーバー構築に慣れていない場合はpecoを入れてコマンド実行履歴を確認できるのでお勧めです。[目次]・SSH接続・初期設定・zsh・シェル・peco・vim設定・ユーザー・グループ作成と設定・セキュリティとユーザー設定・サーバーのタイムゾーンを日本時間に合わせる【SSH接続】1. 作成したCentOS7インスタンスにSSH接続する・公開鍵を登録した場合インスタンス作成時に公開鍵を登録している場合、インスタンス情報を「.ssh/config」に設定します。Host インスタンス名HostName インスタンスのグローバルIPUser rootHostはわかりやすいようにインスタンス名にしています。HostNameはインスタンスのグローバルIPを設定します。クラウドの場合、コンソール画面に表示されています。GCPでは下記のサンプル画面からわかります。下記のコマンドでSSH接続します。ssh インスタンス名・公開鍵の登録をしていない場合i. SSH接続をする基本的にインスタンス構築時には「root」ユーザーで接続します。ssh root@グローバルIPこの場合、上記のコマンドを打った後にインスタンス構築時に設定したパスワードを入力します。ii. インスタンスに「~/.ssh」ディレクトリを作成するcd ~/mkdir .sshchmod 700 .sshiii. authorized_keysを作成するcd .sshtouch authorized_keyschmod 600 authorized_keysvi authorized_keysインスタンスに自身の公開鍵(id_rsa.pub)を登録します。注意点としてはパーミッションを変更しないと機能しません。「公開鍵を登録した場合」の項目のように.ssh/configを設定するとSSH接続が楽になります。上記のどちらかの方法でインスタンスにSSH接続します。Cf. グローバルIPをSSH接続先で調べる方法グローバルIPがコンソール画面からわからない場合、コンソール画面からSSH接続する方法GCPやさくらのクラウド等ではあります。よって、コンソール画面からSSH接続し、下記のコマンドを入力すればグローバルIPがわかります。curl inet-ip.info【初期設定】1. 各グループパッケージの確認とアップデートを行うyum groups list2. yumをアップデートするyum update「y」で全てのパッケージをアップデートします。RPM-GPG-KEY-CentOS-7も「y」で進めます。パスは「/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7」です。3. SELinuxの設定SELinuxとはセキュリティ関連のLinuxカーネル制御機能です。ただ、制御は難しい為、ここではSELinuxを無効化します。さくらクラウド等では最初からdisabledになっている事が多いです。しかし、物理サーバーでCentOS7をインストールする所から始めると最初はenforcingになっています。vi /etc/sysconfig/selinux変更内容SELINUXdisabled「SELINUXenforcing」を「SELINUXdisabled」にします。4. rebootするyumのアップデートとSELinux設定を反映する為にrebootします。reboot・SELinuxの設定確認getenforce下記のように出力されれば無効化されています。Disabled【zsh・シェル・peco・vim設定】[zshの設定]1. zshをインストールyum install -y zshインストールされたzshのパスを確認するwhich zsh出力結果/usr/bin/zsh2. SHELLをzshに変更chsh -s /usr/bin/zshCf. Amazon Linux 2でのSHELL変更※ Amazon Linux 2では chshコマンドがない為、下記のコマンドでインストールする必要があります。yum install util-linux-user「util-linux-user」をインストールした後、「chsh -s /usr/bin/zsh」コマンドを実行します。[oh-my-zshの設定]1. oh-my-zshのインストールする為にwget、git等をインストールするyum install -y wget git curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker2. oh-my-zshをインストールwget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh[vimの設定]・vimをインストールするyum -y install vim-enhanced[pecoの設定]1. pecoをインストールするcd ~/wget https://github.com/peco/peco/releases/download/v0.5.3/peco_linux_amd64.tar.gz2. pecoの圧縮ファイルを解凍tar xvfz peco_linux_amd64.tar.gz3. 解凍したディレクトリに移動cd peco_linux_amd644. pecoを「/usr/local/bin/.」に移動mv peco /usr/local/bin/.5. pecoをrootのグループとユーザーに変更cd /usr/local/binchown root.root peco6. pecoのPATH確認which peco[pecoの設定]1. .zshrcの設定下記のコマンドで.zshrcを編集します。vi ~/.zshrci. pecoをzshにて使用できるようにする下記を追記します。function peco-select-history() {local tacif which tac /dev/null; thentac"tac"elsetac"tail -r"fiBUFFER$(history -n 1 | eval $tac | peco --query "$LBUFFER")CURSOR$#BUFFERzle clear-screen}zle -N peco-select-historybindkey '^r' peco-select-historysetopt nonomatchii. oh-my-zshのテーマを変更する「ZSH_THEME」の項目を変更する事でoh-my-zshのテーマを変更します。ZSH_THEME"dallas"ここでは「dallas」を設定していますが、その他にもテーマがあるので気になる方は調べてみて下さい。iii. vimコマンドのalias設定「vi」コマンドで「vim」を使用するようにしたい為、aliasを設定しています。しかし、「vi」と「vim」を別々に使用したい、またはaliasが不要な場合はここの設定は不要です。下記を追記します。alias vi"vim"2. 「~/.zshrc」の変更を反映する・コマンドで反映する方法source ~/.zshrc・一度ログアウトし、再ログインする事で反映する再ログインすると最初にshellを読み込みに行く為、設定が反映されます。上記どちらの方法でも、確認が取れれば成功です。【ユーザー・グループ作成と設定】[概要]ここではサンプルとして「ec2-user」ユーザーを作成します。「ec2-user」ユーザーに権限を持たせて最低限の環境構築が行えるようにします。[詳細]1. ec2-userを作成するパスワードを使用せずに「root」ユーザーになる為に、セカンダリグループに「wheel」グループを追加します。・ec2-userグループを作成groupadd -g 500 ec2-user・ec2-userを作成useradd -G wheel -u 500 -g 500 ec2-user・ec2-userのパスワード設定passwd ec2-userこのドキュメントでは最終的にパスワード認証でのSSH接続を拒否する設定にします。しかし、パスワードは極力強い設定にしておきましょう。2. oh-my-zshを使用するzsh SHELLはrootユーザーで済んでいます。よって、oh-my-zshのインストールを行います。・ec2-userになるsu - ec2-user・oh-my-zshを取得wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh・一度ログアウトしてoh-my-zshが適応されたか確認する「control + d」でec2-userをログアウトします。3. SHELLをzshに変更するi. zshのパス確認which zsh出力結果例/bin/zshii. SHELLをzshに変更chsh -s /bin/zshiii. zshを反映する一度「ec2-user」ユーザーをログアウトしてzshを反映させます。4. pecoとSHELLを設定する・.zshrcの設定を変更vi ~/.zshrc・変更内容i. ZSHのテーマをfishyに変更ZSH_THEME"fishy"rootユーザーでは「dallas」テーマにしました。ec2-userでは「fishy」にします。理由はrootユーザーとec2-userで見た目が違うと、自身が今どのユーザーであるかを直感的にわかるからです。気に入っているテーマがあればどちらのユーザーも同じでも良いと思います。ii. pecoをzshにて使用できるようにする下記を追記します。function peco-select-history() {local tacif which tac /dev/null; thentac"tac"elsetac"tail -r"fiBUFFER$(history -n 1 | eval $tac | peco --query "$LBUFFER")CURSOR$#BUFFERzle clear-screen}zle -N peco-select-historybindkey '^r' peco-select-historysetopt nonomatchiii. vimコマンドのalias設定「vi」コマンドで「vim」を使用するようにしたい為、aliasを設定しています。しかし、「vi」と「vim」を別々に使用したい、またはaliasが不要な場合はここの設定は不要です。下記を追記します。alias vi"vim"5. ec2-userに公開鍵の設定i. 「~/.ssh」ディレクトリを作成するcd ~/mkdir .sshchmod 700 .sshii. authorized_keysを作成するcd ~/.sshtouch authorized_keyschmod 600 authorized_keysvi authorized_keys自身の公開鍵(id_rsa.pub)を登録します。【セキュリティとユーザー設定】0. 前提この設定はrootユーザーで行います。よって、「sudo su -」等のコマンドでrootユーザーになっておいて下さい。1. sudoをパスワードなしで使用できるようにするec2-userにてsudoの実行をパスワードなしで許可する設定にします。下記のどちらかのコマンドを実行します。どちらのコマンドを実行しても実行対象のファイルは同じファイルになります。・パターン1visudo・パターン2vi /etc/sudoers変更内容# Same thing without a password%wheelALL(ALL)NOPASSWD: ALL最初は「%wheelALL(ALL)NOPASSWD: ALL」の文頭に「#」のコメントアウトが記述されているので「#」を削除します。・ec2-userがrootユーザーにパスワードなしでなれるかを確認するi. ec2-userになるsu - ec2-userii. ec2-userからrootユーザーになるsudo su -これでパスワードなしでrootユーザーになれれば成功です。2. rootユーザーでのログイン関係を変更する変更点は下記の2点です。・rootユーザーでのSSH接続ができないようにする・全ユーザーのSSH接続におけるパスワード認証を拒否するvi /etc/ssh/sshd_config変更内容PermitRootLogin noPasswordAuthentication no上記は変更前から設定されている場合もあります。「PermitRootLogin」と「PasswordAuthentication」の項目はあるので探して変更して下さい。3. SSH接続の設定変更を適応するsystemctl restart sshd.service・注意点これでルートユーザーでのSSH接続とパスワード認証によるSSH接続ができなくなりました。このあと確認を行うのですが、現在接続しているSSH接続は切らないようにして下さい。理由は、もし作成したユーザー(ここではec2-user)の設定が間違っていた場合、ローカルでの接続が困難になります。クラウドの場合は、コンソール画面からSSH接続できますが、物理サーバーの場合はCentOS7の再インストールから始めなければなりません。よって、現在の接続は切らないようにして下さい。4. ローカルからCentOS7にec2-userで接続できるか確認する・.ssh/config設定vi ~/.ssh/configmacに下記のように.ssh/configを設定します。Host インスタンス名 HostName インスタンスのグローバルIP User ec2-user・ターミナルの新規タブでローカルからサーバーに接続するssh インスタンス名これで接続できれば成功です。5. ポート変更SSH接続のデフォルトのポートは22番です。つまり、22番ポートは誰もが知っているSSHポートとなります。22番を使い続けるのはハッキングされる可能性が高まります。デフォルトのSSHポート番号を変更する事で多くの方が使用している番号から変わる為、対策となります。i. rootユーザーになるsudo su -ii. SSH接続ポートの変更vi /etc/ssh/sshd_config変更内容# Port 22Port 10022ここでは10022ポートを使用しますが、他の番号でも大丈夫です。ただし、今後インストールするアプリケーションにもデフォルトのポートがあります。例えば、Nginxでは80番ポート、MySQLでは3306ポート。下記のウィキペディアにポート番号の一覧が記載されているので、参考にし、競合しないようにして下さい。TCPやUDPにおけるポート番号の一覧iii. 変更を反映systemctl restart sshd.service6. Firewallを設定している場合のポート開放SSH接続で10022番ポートを使用する場合、Firewallに10022ポートを開ける設定をします。ただ、GCPやAWSといったクラウドの場合はパケットフィルタで設定します。パケットフィルタを使用しない場合の対応としてまとめているのでパケットフィルタで対応する場合はこちらの項目は飛ばして下さい。・ポート解放設定firewall-cmd --zonepublic --add-port10022/tcp --permanent・設定反映firewall-cmd --reload※ 標準のSSH(22)を開放する場合のコマンドfirewall-cmd --add-servicessh --permanent7. ポート変更に伴い、macの.ssh/configを再設定するCentOS7のSSHポートを10022に変更した為、macの.ssh/configも変更する必要があります。vi ~/.ssh/config下記のように.ssh/configの対象サーバー設定に「Port10022」の設定を追加します。Host インスタンス名 HostName インスタンスのグローバルIP User ec2-user Port 100228. 再度SSH接続できるか確認するssh インスタンス名これで接続できれば設定完了です。【サーバーのタイムゾーンを日本時間に合わせる】下記はサーバーの時刻を東京のに合わせるコマンドです。timedatectl set-timezone Asia/Tokyoアプリケーションやcron等にも時刻は影響します。ここでは時刻を東京にしていますが、使用するアプリケーションに合わせて時刻を設定して下さい。【まとめ】これで最低限の設定は完了です。この後にPHPやNGINX等の設定を行います。この設定をしておくと今後のサーバー構築もしやすいと思います。サーバー構築初心者の方に特にお勧めなので、是非試してみて下さい。

カテゴリ: CentOS 2020-09-09 01:14:22
article-thumbnail

CentOS7にsarコマンドのインストールと使用例について

【概要】sarコマンドでインストールと設定方法、使用例についてまとめています。使用例に関してはメモリ、CPU、ネットワーク使用状況を確認する方法について記述しています。【インストールと設定変更方法】1. sarコマンドインストールyum install sysstat※ インストールしてから過去のメモリ使用ログが閲覧可能になります。2. /etc/cron.d/sysstatを編集して設定を変えるvi /etc/cron.d/sysstat下記のデフォルト設定では10分おきにログが出力される事が指定されています。*/10 * * * * root /usr/lib64/sa/sa1 1 15分毎のログを出力する場合、「*/10」の部分を「*/5」に変更します。ただ、ここでは設定変更方法をまとめているだけで、帰る必要がなければこの項目はスキップして下さい。【メモリ使用状況確認】・メモリログを確認sar -r10分置きのメモリ使用状況等が見れます。・saログから確認する下記に日別ログが格納されています。/var/log/sa/sar****は日付です。よって目的の日にちのsar**ログを見れば日毎のログが確認可能です。「sa10」のファイルのログを見る場合の例文は下記になります。sar -r -f /var/log/sa/sa10【CPU使用量調査】・CPU使用率を確認するsar -u【ネットワーク使用量調査】[概要]ネットワーク使用量と使用量の計算方法や単位についても例と共に記述しています。[詳細]・sarコマンドでNIC全体の状況確認コマンドsar -n DEV出力結果14時05分52秒LINUX RESTART14時10分01秒IFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s14時20分01秒eth010.364.130.680.290.000.000.0014時20分01秒eth11717.662766.11283.042928.720.000.000.0014時20分01秒lo0.010.010.000.000.000.000.00......・特定のNICのみ出力したい場合Eth1のみを出力する。sar -n DEV | grep 'eth1'出力結果例13時40分01秒IFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s13時40分01秒eth1332.31506.85106.87556.600.000.000.00・sar -n DEVコマンドの項目について* rxpck/s: 受信パケット数/秒* txpck/s: 送信パケット数/秒* rxkB/s: 受信パケット(kB)/秒* txkB/s: 送信パケット(kB)/秒・パケットとbyte計算1 パケット 128 byte・13時40分01秒の受信パケットとbyte上記を踏まえて、10で割って、1分当たりのbyte数とkb数を計算しています。・1分当たりのパケット19938.6パケット/分・1分当たりのbyte数2552140.8byte・1分当たりのkb数2492.3kb

カテゴリ: CentOS 2020-08-16 00:38:20
article-thumbnail

CentOS6にGit2系をインストール・アップデートする

【概要】CentOS6系統のサーバーにGit2系をインストール、アップデートする方法をまとめます。既にGitをインストールしているサーバーにも対応する方法をまとめているので参考にしてみて下さい。使用例としては、Node.jsのバージョン12以降をCentOS6で使用するにはgmp-devel等をインストールする必要があります。gmp-devel等のパッケージをインストールするにはGitのバージョンを2系にする必要があります。Node.jsのバージョンを12以降にアップデートする必要がある方にも必要な項目なので、参考にしてみて下さい。【詳細】0. rootユーザーになるsudo su -1. 既存のGitをアンインストールするyum remove git※ Gitをまだインストールしていない場合はこの項目は不要です。2. Git2系をインストールするi. Gitをインストールする為に必要なパケージをインストールするyum install gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMakerii. Git2.9.5をダウンロードするwget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gziii. ダウンロードしたGitをCentOS6に適応するtar -zxf git-2.9.5.tar.gzcd git-2.9.5make prefix/usr/local allmake prefix/usr/local install上記はGit2.9.5をインストールする手順です。その他のバージョンをインストールしたい場合は下記のサイトのバージョンを参考にwgetしてみて下さい。https://mirrors.edge.kernel.org/pub/software/scm/git/3. Gitインストールとバージョン確認git --version

カテゴリ: CentOS 2020-06-22 00:55:39
article-thumbnail

CentOS7で特定のIPからの接続を許可するFirewall設定

【概要】CentOS7にて特定のIPからの接続と開放するPort指定をFirewallに設定する方法をまとめます。接続元が限定されている場合はFirewallに開放の制限をしておくとよりセキュリティが担保されます。しかし、運用として制限するのが難しい場合はこの設定は向いていません。【詳細】・前提Firewallを起動していない場合は下記のコマンドでFirewallを起動して下さい。systemctl start firewalld・192.168.0.2のIPからの接続許可設定1. MySQL(3306)の場合firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"192.168.0.2" port protocol"tcp" port"3306" accept"2. Redis(6379)firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"192.168.0.2" port protocol"tcp" port"6379" accept"・設定反映firewall-cmd --reloadCf1. 特定のIP接続許可設定一覧を確認するfirewall-cmd --list-rich-rulesCf2. 上記の特定IPの接続許可設定を削除する場合のコマンド・MySQL(3306)firewall-cmd --permanent --zonepublic --remove-rich-rule"rule family"ipv4" source address"192.168.0.2" port protocol"tcp" port"3306" accept"・Redis(6379)firewall-cmd --permanent --zonepublic --remove-rich-rule"rule family"ipv4" source address"192.168.0.2" port protocol"tcp" port"6379" accept"Cf3. 特定のIP帯の接続を許可する設定下記では「192.168.0.0/24」のIP帯の3306のポートを開放する設定です。firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"192.168.0.0/24" port protocol"tcp" port"3306" accept"

カテゴリ: CentOS 2020-06-21 02:41:28
article-thumbnail

CentOS7で任意のログとデフォルトのログに対してログローテーション設定をする

【概要】CentOS7でログローテーションを設定し、有効化します。ログローテーションを有効化する事で、肥大化していくログファイルを日べつに区切る事ができます。また、一定期間でログを削除するのでログファイルによるサーバーのストレージ圧迫を回避します。ログを残しておきたい理由がなければログローテーションを設定する事をお勧めします。【Webアプリ用のlogrotateの設定】1. Webアプリ用のログローテーション設定ファイル作成touch /etc/logrotate.d/nginx-virtual-host2. ログローテーション設定ファイルの設定を記述vi /etc/logrotate.d/nginx-virtual-host設定内容/var/log/nginx/*/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 nginx adm sharedscripts postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 `cat /var/run/nginx.pid` fi endscript}上記の「/var/log/nginx/*/*.log」部分がNginxのログディレクトリ配下にあるログファイルを全て対象する事になります。もし違う場所にNginxのログを出力している場合は、そのパスを指定して下さい。Cf. /etc/logrotate.d/nginx-virtual-hostの設定内容i. missingokログファイルが見つからなくてもエラーにしない。ii. rotate nn世代までログをローテート。それ以上は削除iii. compressローテートしてログを圧縮iv. delaycompress1つ前のファイルはまだ圧縮しない。それ以外を圧縮v. notifemptyログファイルが空ならローテーションしないvi. createローテーション後、新たにログファイルを作成する。権限、ユーザ、グループを指定。vii. sharedscriptsスクリプト宣言文。以降に記述された処理をワイルドカードの指定に関わらず、1度だけ実行するviii. postrotateログローテーション実施後に実行される部分【ログローテーションを実行する】・Nginxのログをログローテーションを行う※ 下記はデフォルト存在するログローテーション設定ファイルです。logrotate -f /etc/logrotate.d/nginx・作成した設定ファイルを指定しログローテーションを行うlogrotate -f /etc/logrotate.d/nginx-virtual-host【logrotateの設定反映をした時にエラーが出た際の対応方法】[概要]下記のコマンドを実行した際にエラーが発生したので、その対応方法をまとめています。logrotate -f /etc/logrotate.d/nginx-virtual-host・エラー内容error: skipping "/var/log/nginx/d-smart.jp/access.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.error: skipping "/var/log/nginx/d-smart.jp/error.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.上記のエラーは、ログローテーションを行う対象に対して必要な権限がない事が理由です。よって、ログローテーションの設定ファイルに権限の設定を記述します。[対応]1. ファイルの内容変更今回作成した設定ファイル「/etc/logrotate.d/nginx-virtual-host」に下記の権限設定を追加します。/var/log/nginx/*/*.log {...省略...su nginx adm...省略...}2. 設定反映logrotate -f /etc/logrotate.d/nginx-virtual-host3. 確認「/var/log/nginx/」配下にある、access.logとerror.logがログローテーションされていれば成功です。

カテゴリ: CentOS 2020-05-30 18:04:05
article-thumbnail

CentOS7のPHPのバージョンアップする

【概要】CentOS7のPHPのバージョンアップする方法まとめです。このドキュメントではPHP5.6からPHP7.4にします。参考として、PHP自体をまだインストールしていない時の対応も記載しておきます。【現状のPHPを削除する】1. php.iniのバックアップを取っておく現状のphp.iniに設定している内容が必要な方はバックアップを取っておいて下さい。cp /etc/php.ini /etc/php.ini.oldVer2. 既存のPHPを削除するyum remove php-*【PHP7.4をインストールする】[概要]既存のPHPは削除した為、新規でPHP7.4をインストールします。[手順]・PHP7.4をインストールyum install --enablerepoepel,remi,remi-safe,remi-php74 php※ 上記のコマンドでインストールできない場合レポジトリを指定してもbaseレポジトリが邪魔してインストールできない場合は下記のコマンドでインストールを実行してみて下さい。yum install --disablerepobase --enablerepoepel,remi,remi-safe,remi-php74 phpCf. よく使うパッケージもインストールする場合PHP7.4のインストールと一緒にphp-fpmやphp-pecl-redis等をインストールする方法です。不要なパッケージは消して実行して下さい。yum install --enablerepoepel,remi,remi-safe,remi-php74 php php-devel php-mbstring php-mysqlnd php-pdo php-xml php-gd php-fpm php-mcrypt php-pecl-xdebug php-opcache php-pecl-apcu php-phpunit-PHPUnit php-pecl-redis【参考:PHPを初回インストールする場合の対応】[概要]この項目はPHP自体をまだインストールしていない場合の対応になります。その場合はレポジトリをインストールする所から始めます。ただ、MySQL等のサービスを既にインストールし、レポジトリもインストール済みの方は不要な項目です。その場合は【PHP7.4をインストールする】の項目から始めて下さい。[手順]1. epelレポジトリをインストールするyum install epel-release2. remiレポジトリをインストールするrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm上記2つのレポジトリをインストールしたら、【PHP7.4をインストールする】の項目を行なって下さい。

カテゴリ: CentOS 2020-05-28 01:07:18
article-thumbnail

CentOS7に最新バージョンのRedisをインストールする

【概要】CentOS7にremiレポジトリを使用してRedisの最新版をインストールする方法についてまとめたドキュメントです。【インストール】1. remiレポジトリをインストールするRedis最新バージョンをインストールする為にremiレポジトリをインストールします。rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm2. remiレポジトリを適応させてインストールするyum --enablereporemi install redisドキュメント作成時の2020/05/21では6.0.1がインストールされました。Cf. remiレポジトリを使用せずにインストールコマンドを実行する場合yum install redisこの場合、Redisの3系が入ります。3系をインストールされる理由がなければ、remiレポジトリを使用して最新版をインストールする事をお勧めします。【Redis起動と自動起動設定】・Redisを起動するsystemctl start redis・Redis自動起動設定systemctl enable redis【参考:htopインストール】htopをインストールする事で各ストレージの使用状況を見る事ができます。Redisはkeyとvalueをオンメモリに保存する事ができます。よって、サーバーの使用状況を確認する為にもhtopとRedisはセットで入れておくことをお勧めします。・htopインストールyum install htop・htop画面表示コマンドhtop・htop画面イメージ上記画像では992MBのメモリの内147MB使用している事がわかります。

カテゴリ: CentOS 2020-05-24 15:58:18
article-thumbnail

サーバーに存在するディレクトリをtar.gz化して、ローカルや別サーバーにコピーする

【概要】CentOSサーバーに存在するディレクトリをtar.gzのファイル化します。1つのファイルになった為、scpコマンドでコピーが簡単になります。ここではローカルもしくは別サーバーにtar.gzファイルをコピーし、解凍する方法をまとめます。私はこの処理をWPを新規サーバーに移設する時に使用しました。サーバー移設に限らず、サーバーに存在するファイル群を取得する時に使えるので参考にしてみて下さい。【ディレクトリをtar.gz化する】0. 事前準備(tar.gzファイルを格納する為のディレクトリを作成する)ここではec2-userにtmpディレクトリを作成し、このtmpディレクトリにtar.gzファイルを格納する事を想定します。格納先が必要ない場合は、この項目の実行は不要です。cd ~/mkdir tmp1. ディレクトリをtar.gzファイルにするec2-userのルートディレクトリ直下に存在するtmpディレクトリにtar.gzファイルを作成します。対象ディレクトリは「/var/www/html/sampleApp」とします。tar cvfz /home/ec2-user/tmp/sampleApp.gz/var/www/html/sampleAppこれで対象のディレクトリをtar.gz化できました。【ローカルにtar.gzファイルをコピーする】0. 事前準備(ローカルの格納したいディレクトリまで移動する)ここではmacのDocumentsディレクトリに格納する事にします。cd /Users/user-name/Documents1. ローカル(mac)にtar.gzファイルをコピーするscp web-server1:/home/ec2-user/tmp/sampleApp.gz ./「web-server1」の部分をローカルの「~/.ssh/config」に登録しているHost名にします。【別サーバーにtar.gzファイルをコピーする】0. 前提ここではtar.gzファイルを作成したサーバー(web-server1)から別サーバー(web-server2)へのコピーを想定します。コピー先の別サーバーにSSH接続できる状態にしておきます。また、「~/.ssh/config」にコピー先のサーバー情報を設定しておきます。1. sample.server1からsample.server2へtar.gzファイルをコピーscp /home/ec2-user/tmp/sampleApp.gz web-server2:/home/ec2-user/これで「sample.server2」のルートディレクトリに「sampleApp.gz」ファイルがコピーされます。【tar.gzファイルを解凍する】・解凍するコマンドコマンドはローカル(mac)もCentOSサーバーも同じです。tar xzf sampleApp.gzこれでコマンドを実行した場所にsampleAppディレクトリが展開されます。

カテゴリ: CentOS 2020-05-18 01:48:13
article-thumbnail

CentOS7にMySQL8系を構築する

【概要】 CentOS7にMySQL8系をインストールし、初期設定します。【MySQL8系をインストール】1. MariaDBをインストールしない設定をするCentOS7ではデフォルトのDBインストールはMariaDBをインストールするようになっています。今回はMySQL8系をインストールしたい為、MariaDBをインストールする設定を外します。yum remove mariadb-libsrm -rf /var/lib/mysql/2. MySQL8のレポジトリをインストール先ず、rpmコマンドでMySQL8用のレポジトリをインストールします。その後にyumコマンドでMySQLサーバーをインストールします。rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpmyum install mysql-community-server ※ MySQL Clientのみをインストールしたい場合は下記のコマンドを実行して下さい。yum install mysql-community-client3. インストールしたMySQLのバージョンを確認mysql -VmysqlVer 8.0.17 for Linux on x86_64 (MySQL Community Server - GPL)4. MySQL起動と自動起動設定systemctl start mysqldsystemctl enable mysqld【MySQLの初期設定】1. root@localhost のパスワードを調べる先ず、 root@localhost でMySQLにログインする為にパスワードを調べます。grep 'temporary password' /var/log/mysqld.log出力結果例2019-09-10T06:31:50.438223Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: spRiez%lt;T8ecここでインストールしたMySQL8のrootパスワードは右端に表示されている「spRiez%lt;T8ec」がrootユーザーのパスワードになります。2. MySQLにログインmysql -u root -p上記のコマンドでMySQLにログインできれば正常にインストールされており、かつパスワードを正しく取得できた事がわかります。3. MySQLの初期設定下記のコマンドはMySQLの最低限のセキュリティ設定を行うコマンドです。コマンドを実行するとパスワードの再設定等の各種設定に行います。2でMySQLにログインしましたが、「Control+d」を押下し、一度ログアウトしてから下記のコマンドを実行して下さい。mysql_secure_installationi. rootのパスワードを変更Change the password for root ? ((Press y|Y for Yes, any other key for No) : yrootのパスワードは変更する必要がある為、「y」にします。この後に新規パスワードの入力を2度求められるので、入力して下さい。パスワード作成は下記のサイトで簡単に作成できます。LUFTTOOLSii. 変更したパスワードで設定を進めますか?Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y変更したパスワードで進めるので「y」にします。iii. anonymous ユーザーの削除しますか?Remove anonymous users? (Press y|Y for Yes, any other key for No) : yanonymous ユーザーの削除なので「y」にします。iv. リモートからrootユーザーでアクセス拒否しますか?Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yこの質問は要注意です。セキュリティを高めるのであればリモートからのrootログインを拒否した方が良いので「y」を選択します。また、Sequel等のDB Clientを使用し、SSH接続後にlocalhostで接続する事もできるので基本的にはリモート接続できないようにする事をお勧めします。しかし、リモートからrootログインを許可した方が良いプロジェクトの場合はrootユーザーでリモートアクセスを拒否しないので「n」を選択します。ここではrootでリモートアクセスさせたくないので「y」にします。v. testデータベースの削除しますか?Remove test database and access to it? (Press y|Y for Yes, any other key for No) : ytestデータベースを削除 (存在する場合)するので「y」にします。vi. 設定の即時反映しますか?Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y即時反映させる為、「y」にします。Cf. MySQLの文字コード確認下記のSQL文でDBの文字コード等の設定が見れます。MySQLにログイン後、下記のSQL文を実行して下さい。status出力結果--------------......Server characterset:utf8mb4Dbcharacterset:utf8mb4Client characterset:utf8mb4Conn.characterset:utf8mb4......--------------【DBユーザーの設定】1. MySQLログインとユーザー確認mysql -u root -p【MySQLの初期設定】で新規設定したパスワードを入力して下さい。2. ユーザーの状態を確認する下記のSQL文でユーザーの状態を取得できます。SELECT user, host, plugin FROM mysql.user;出力結果+------------------+-----------+-----------------------+| user | host| plugin|+------------------+-----------+-----------------------+| mysql.infoschema | localhost | caching_sha2_password || mysql.session| localhost | caching_sha2_password || mysql.sys| localhost | caching_sha2_password || root| localhost | caching_sha2_password |+------------------+-----------+-----------------------+MySQL8系から「caching_sha2_password」認証がデフォルトになりました。MySQL8系よりも前のバージョンでは「mysql_native_password」認証です。また、LaravelでmigrateしようとしたりDB接続しようとする時にエラーが起きる原因となります。よって、Laravel等のプログラムを使用する場合、「mysql_native_password」認証に変更した方が良いです。3. rootユーザーの認証変更ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'lt;パスワード';※ lt;パスワード は【MySQLの初期設定】で新規設定したパスワードに置換して下さい。4. 認証変更確認再度ユーザーの状態を確認するSQL文を実行します。SELECT user, host, plugin FROM mysql.user;出力結果+------------------+-----------+-----------------------+| user| host| plugin|+------------------+-----------+-----------------------+| mysql.infoschema | localhost | caching_sha2_password || mysql.session| localhost | caching_sha2_password || mysql.sys| localhost | caching_sha2_password || root| localhost | mysql_native_password |+------------------+-----------+-----------------------+rootユーザーが「mysql_native_password」認証に変更されました。

カテゴリ: CentOS 2020-05-15 02:24:36
article-thumbnail

CentOSサーバーのディレクトリ毎のストレージ使用量を調べる

【概要】CentOSサーバーのストレージ使用量をディレクトリ毎に調査する方法のまとめです。【詳細】1. /(ルート直下)の使用量を見るsudo su -cd ~/du -sh /*出力結果例0/bin144M/boot0/dev37M/etc393M/home0/lib0/lib640/media0/mnt239M/opt......0/proc37M/root361M/run0/sbin0/srv0/sys4.0K/tmp4.8G/usr9.4G/var上記の出力例では /var と /usr が主に使用されていることがわかりました。2. /var を調査cd /vardu -sh ./*出力結果例124K./tmp6.4G./lib276M./log0./adm240M./cache8.0K./db0./empty0./games0./gopher0./local0./nis0./opt0./preserve12K./spool0./yp0./kerberos448M./www7.4G./var/lib が6.4GB使用している事がわかりました。3. /var/lib 配下のストレージ使用量を確認するcd /var/libdu -sh ./*出力結果例11M./yum104M./rpm0./games0./misc0./rpm-state20K./alternatives4.0K./logrotate0./initramfs64K./systemd0./machines0./dbus0./polkit-10./os-prober0./stateless4.0K./plymouth32K./NetworkManager0./tuned0./ntp8.0K./dhclient0./authconfig4.0K./postfix4.0K./rsyslog4.0K./chrony0./selinux4.0K./google6.3G./mysql0./mysql-files0./mysql-keyring0./php0./dav72K./redis872K./pear0./letsencrypt6.4G./var/lib/mysql が6.3GB使用している事がわかりました。この結果からストレージ容量に余裕を持たせたい場合、不要なレコードを削除する対応やストレージを追加する等の対応について判断できます。また、上記のような流れでどの部分でストレージを主に使用しているのかを調査できます。【参考: サーバー全体のストレージ使用率を調べる】・ストレージ使用量確認コマンドdf -H出力結果例FilesystemSizeUsed Avail Use% Mounted ondevtmpfs3.7G03.7G0% /devtmpfs3.7G03.7G0% /dev/shmtmpfs3.7G102M3.6G3% /runtmpfs3.7G03.7G0% /sys/fs/cgroup/dev/sda122G14G8.0G64% /tmpfs736M0736M0% /run/user/501上記の出力結果例ではメインの /(ルートディレクトリ以下)は64%使用しており、残りの使用可能容量は8GBです。全体のストレージサイズやその使用量の調査、また新規ストレージをマウントした際にマウントが反映しているかを確認する際にも使用できます。

カテゴリ: CentOS 2020-05-14 03:49:06
article-thumbnail

CentOS7にMySQL5.7をインストールする

【概要】CentOS7にMySQL5.7をインストールする方法をまとめです。【詳細】1. MariaDBをインストールしない設定をするCentOS7ではデフォルトのDBインストールはMariaDBをインストールするようになっています。今回はMySQL5.7をインストールしたい為、MariaDBをインストールする設定を外します。yum remove mariadb-libsrm -rf /var/lib/mysql/2. MySQL5.7のレポジトリをインストールするyum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm3. MySQL5.7をインストールするi. インストールされるMySQLを事前に確認するyum info mysql-community-serverii. MySQL5.7インストールyum install mysql-community-serveriii. インストールしたMySQLのバージョン確認mysql -V出力結果mysqlVer 14.14 Distrib 5.7.30, for Linux (x86_64) usingEditLine wrapper4. MySQLの起動・停止と自動起動設定・MySQL起動systemctl start mysqld・MySQL停止systemctl stop mysqld・自動起動設定systemctl enable mysqld

カテゴリ: CentOS 2020-05-14 03:18:16
article-thumbnail

CentOS7にPHP5.6をインストールする

【概要】 CentOS7にPHP5.6をインストールする方法をまとめです。【詳細】1. remiレポジトリをインストールするrpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm2. PHP5.6をインストールremiレポジトリ使用してPHP5.6をインストールします。下記はPHP5.6のインストールと同時にPHPで必要なパッケージをインストールしています。不要なパッケージが存在する場合は外して下さい。yum install --enablereporemi,remi-php56 php php-devel php-mbstring php-mysqlnd php-pdo php-xmlphp-gd php-fpm3. PHPのバージョン確認php -v出力結果PHP 5.6.40 (cli) (built: Apr 14 2020 09:16:39)Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend TechnologiesPHP 5.6.40がインストールされました。

カテゴリ: CentOS 2020-05-14 02:57:02
article-thumbnail

CentOS7のFirewallの設定

【概要】CentOS7におけるFIrewall設定のまとめです。【詳細】1. Firewalldの起動・停止・起動systemctl start firewalld・停止systemctl stop firewalld2. Firewalldの自動有効化・無効化サーバーを再起動した時に自動有効化を設定していない場合、Firewallが停止した状態になります。自動有効化をする事でサーバー再起動時にFirewallが有効状態になります。設定している自動有効化を停止したい場合に無効化を実行して下さい。・自動有効化systemctl enable firewalld・無効化systemctl disable firewalld3. サービス名でポートを開く特定のサービスのポートを開きたい時に使用します。下記の例ではhttp(80番ポート)を開放する時に使用します。firewall-cmd --add-servicehttp --zonepublic --permanent4. 特定のポートを開く3とは違い、指定したポートを開放する場合に使用します。下記の例ではVue.jsやNuxt.jsで使われる3000ポートを解放しています。firewall-cmd --add-port3000/tcp --zonepublic --permanent5. ポートを閉じる開放しているポートを閉じたい時に使用します。・サービスの削除firewall-cmd --remove-servicehttps --zonepublic・ポートの削除firewall-cmd --remove-port4440/tcp --zonepublic --permanent・恒久設定firewall-cmd --remove-servicehttps --zonepublic --permanent6. ポート解放設定後、設定を反映させる3, 4, 5で設定したポート開閉設定を反映させます。firewall-cmd --reload7. 現在登録しているサービス一覧firewall-cmd --list-services --zonepublic 出力例dhcpv6-client http sshつまり、「dhcpv6-client http ssh」の3つのポートのみ解放されている状態です。

カテゴリ: CentOS 2020-05-13 03:10:24
article-thumbnail

CentOS6で443ポートを開放する

【概要】CentOS6で指定のポートを開放する。443ポートはLet's Encrypt等でSSL通信する際に使用するポートである。【詳細】1./etc/sysconfig/iptablesに443ポート開放を記述する・commandvi/etc/sysconfig/iptables ・追記内容下記の「-A...」から始まる1文を追記する。# Generated by iptables-save v1.4.7 on Tue Sep 17 16:59:47 2019 ...... -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 2. iptablesを再起動する「/etc/sysconfig/iptables」に記述した設定を反映させる為に iptables を再起動する必要がある。service iptables restart 3. ポート開放確認※ この状態で443ポートは開放されているが、443ポートを使用していないとopenにならないので注意。・別サーバーやローカル(mac)等からnmapコマンドを実行するnmap 対象サーバーIPもしくはドメイン名 -p 443 ・出力結果例PORT STATE SERVICE 443/tcp open https 参考. yahoo.co.jpの443ポート開放確認・commandnmap yahoo.co.jp -p 443 ・出力結果Starting Nmap 7.70 ( https://nmap.org ) at 2020-03-23 01:30 JST Nmap scan report for yahoo.co.jp (182.22.59.229) Host is up (0.027s latency). Other addresses for yahoo.co.jp (not scanned): 183.79.135.206 rDNS record for 182.22.59.229: f1.top.vip.ssk.yahoo.co.jp PORT STATE SERVICE 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds 上記のようにドメインでも確認することができます。まだ、ドメイン設定をしていない場合はドメインではなく、IPアドレスを対象に調査して下さい。

カテゴリ: CentOS 2020-04-15 04:34:30