タグ: CentOS7

検索結果: 16件

article-thumbnail

特定のIPアドレスのみ全ポート・プロトコルを許可するFirewall設定

【概要】全ポート・プロトコル開放を特定のIPアドレスのみ許可するFirewall設定についてまとめます。この設定は既にSSHポートやHTTPポートを設定していても併用して設定することができます。【詳細】・構文firewall-cmd --permanent --add-rich-rule"rule family"ipv4" source address"許可するIPアドレス/cidr" accept"「許可するIPアドレス」部分にIPアドレスを入力して下さい。・設定反映firewall-cmd --reload・反映確認firewall-cmd --list-all --zonepublic出力結果例public (active) target: default ...省略... rich rules: rule family"ipv4" source address"許可するIPアドレス/cidr" accept「rich rules」部分に指定したIPアドレスの許可設定が出力されれば成功です。Cf. 設定削除コマンドfirewall-cmd --permanent --remove-rich-rule"rule family"ipv4" source address"許可するIPアドレス/cidr" accept"設定削除コマンド実行後は設定反映コマンドと反映確認を行って下さい。【tcpプロトコルの全ポート開放する場合】・構文firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"許可するIPアドレス" port protocol"tcp" port"0-65535" accept"・設定反映firewall-cmd --reload・確認これで開放していないポートでも指定したIPアドレスからはアクセスが許可されます。例えば、HTTP(80番)ポートを開放していなくても、設定したIPアドレスからはブラウザにて表示する事ができます。以上のような例で接続確認をしてみてください。・参考ここでは0番から65535番までのポート・プロトコルを開放していますが、特定のポート番号のレンジの指定もできます。例えば1~1000番の場合は下記のようになります。firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"許可するIPアドレス" port protocol"tcp" port"1-1000" accept"特定の番号のみの場合は下記のようにします。ここでは10022番を例とします。firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"許可するIPアドレス" port protocol"tcp" port"10022" accept"

カテゴリ: Linux 2020-12-19 10:58:05
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

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に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

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

rsyncコマンドを利用したサーバー内・サーバー間の同期方法まとめ

【概要】このドキュメントでは、rsyncコマンドを使用してサーバー内もしくはサーバー間のファイル同期やディレクトリ同期方法をまとめています。下記のようなパターンで特に有用です。1. ファイルやディレクトリの権限を同期元と変えずに同期したい2. 一括で同期をしたい3. 特定のディレクトリのどのファイルが同期元と同期先で差異があるかわからないので、チェックして同期する【rsyncコマンドの基本構文】・基本構文rsync -av 同期元 同期先・オプション説明1. -aオプションディレクトリを同期したい場合、再帰処理を行います。つまり、指定したディレクトリ内部に存在するサブディレクトリに対しても同期対象として実行します。2. -vオプション実行中の同期処理を表示します。よって、今どのファイルやディレクトリを同期しているのかがわかります。・その他よく使うオプション説明1. --checksumオプション更新日とサイズではなく、チェックサムで変更の有無をチェックします。よって、もし更新日とサイズが同じでもファイル内容が違う場合は同期先の対象ファイルを更新してくれます。2. --inplaceオプション同期先にファイルがある場合は上書きします。3. --deleteオプション同期元にないファイルを同期先から削除します。【例文】1. サーバー内のディレクトリ同期rsync --checksum -av--delete /home/develop/Nuxt-APP/ /var/www/html/Nuxt-APP/「/home/develop/Nuxt-APP/」配下のファイルやディレクトリの内容を「/var/www/html/Nuxt-APP/」配下に同期します。2. サーバー内のファイル同期rsync --checksum --inplace /home/develop/index.html /home/develop/rsync_test/index.html「/home/develop/index.html」の内容を「/home/develop/rsync_test/index.html」に同期します。3. サーバー間のファイル同期rsync --checksum --inplace /var/www/html/index.html web-server:/var/www/html/index.html上記は実行元サーバーの「/var/www/html/index.html」ファイルをweb-serverの「/var/www/html/index.html」に同期します。※1 サーバー間でrsyncを行う為には同期元のサーバーから同期先のサーバーに接続できる必要があります。同期先にSSHの鍵を登録し、同期元で「~/.ssh/config」の設定をしておくとHost名で接続先を記載できるので便利です。※2 SSH設定をしていない場合、「Host名」を「ユーザー名@IP」で設定する必要があります。4. サーバー間のディレクトリ同期サーバー間のディレクトリを同期します。ここでは例として「/var/www/html/stg-WP/wp-content/themes」と「/var/www/html/prd-WP/wp-content/themes」を同期します。ディレクトリ同期をする場合の方法は2つあります。・パターン1rsync -av --checksum --delete --inplace /var/www/html/stg-WP/wp-content/themes wp-web-server:/var/www/html/prd-WP/wp-content・パターン2rsync -av --checksum --delete --inplace /var/www/html/stg-WP/wp-content/themes/ wp-web-server:/var/www/html/prd-WP/wp-content/themes※1 パターン1は、もし「/var/www/html/WP/wp-content/themes」ディレクトリが存在しなければ同期元のディレクトリが同期先に作成されます。※2 パターン2は 両サーバーに「/var/www/html/WP/wp-content/themes」がある事を前提としています。・--deleteオプションの吹き飛ばし注意点下記のようにしたら「prd-WP」ディレクトリの内容は「stg-WP/libs」以下のファイルとディレクトリのみになります。rsync -av --checksum --delete --inplace /var/www/html/stg-WP/libs/ wp-web-server:/home/develop/prd-WPもし、バックアップがない場合は取り返しがつきません。また、WPが動かないというエラーが起きるのでrsyncで--deleteオプションを使う場合は要注意です。よって、同期元で最後の「.../libs/」にスラッシュを付ける場合は同期先に「/libs」まで付ける必要があります。同期元と同期先のパスと文末にスラッシュを付けているかどうかは要注意です!同期元と同期先の「libs」ディレクトリの内容を同期したい場合のコマンド例は下記になります。rsync -av --checksum --delete --inplace /var/www/html/stg-WP/libs/ wp-web-server:/home/develop/prd-WP/libs

カテゴリ: Linux 2020-06-04 02:15:55
article-thumbnail

インストール済みのPHPパッケージを確認する

【概要】PHPのインストール済みパッケージリストを確認する方法についてまとめています。サーバー調査やパッケージのインストール確認等で使用できるので参考にしてみて下さい。【詳細】・PHPのインストール済みパッケージの確認コマンドrpm -qa | grep php出力結果例php-json-7.4.6-1.el7.remi.x86_64php-doctrine-instantiator-1.0.5-1.el7.remi.noarchphp-phpunit-Version-2.0.1-1.el7.remi.noarchphp-symfony-class-loader-2.8.52-2.el7.remi.noarchphp-sebastian-code-unit-reverse-lookup-1.0.1-1.el7.remi.noarchphp-pecl-igbinary-3.1.2-1.el7.remi.7.4.x86_64php-pdo-7.4.6-1.el7.remi.x86_64......上記のようにインストールしたPHPのパッケージリストが全て出力されます。

カテゴリ: PHP 2020-05-29 23:17:51
article-thumbnail

Linuxサーバーのユーザーとグループ作成と設定方法

【概要】Linuxサーバーのユーザーとグループ作成、設定方法をまとめたドキュメントです。【ユーザーとグループ一覧表示】・ユーザー一覧表示cat /etc/passwd出力結果例root:x:0:0:root:/root:/usr/bin/zshbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin......・グループ一覧cat /etc/group出力結果例root:x:0:bin:x:1:daemon:x:2:......【ユーザーとグループ作成】・ユーザー作成構文useradd ユーザー名例文useradd ec2-user・グループ作成構文groupadd グループ名例文groupadd ec2-user・IDを指定する場合のコマンドユーザー・グループ共にIDを指定しなかった場合、他の重複しない値を自動で設定されます。特定のIDを指定したい場合に使用します。ユーザー作成の構文useradd -u 501 ユーザー名グループ作成の構文groupadd -g 501 グループ名【ユーザーのパスワード設定】[概要]ユーザーにパスワードを設定します。作成したユーザーでSSH接続や、rootユーザーになる時などに使用します。[詳細]・構文passwd ユーザー名【グループを設定し、ユーザーを作成する】[概要]ユーザーにグループを設定する事で権限を持たせる事ができます。例えば、ec2-userを作成し、セカンダリグループにwheelグループを設定します。「/etc/sudoers」を編集し、wheelグループはパスワードなしでrootユーザーを使用する設定があります。このように、ユーザーに特定の権限を持たせたい時に使用します。[詳細]・構文 - プライマリグループとセカンダリグループを設定しユーザーを作成するuseradd -G グループ名 -g グループ名 ユーザー名「-Gオプション」はセカンダリグループを指定します。「-gオプション」はプライマリグループを指定します。・ec2-userのプライマリグループに「ec2-user」グループを設定し、セカンダリグループに「wheel」グループを設定するuseradd -G wheel -g ec2-user ec2-user【作成したユーザーの所属グループとidを調べる】[概要]作成したユーザーと設定したグループが反映されたかを確認します。[詳細]・構文id ユーザー名・例文id ec2-user出力結果例uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),10(wheel),190(systemd-journal)上記の例では「ec2-user」ユーザーの情報は下記になります。ユーザーID:1000プライマリグループID:1000プライマリグループ:ec2-userセカンダリグループ:ec2-user・adm・wheel・systemd-journal【作成したユーザーにセカンダリグループを追加する】[概要]作成したユーザーが既にセカンダリグループを設定されている場合、-aオプションを付けないと上書きされてしまいます。その手順をまとめます。[前提]下記の設定がされているec2-userを想定します。uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal)ここにwheelグループを追加します。[詳細]・セカンダリグループ追加usermod -aG nginx ec2-userこれでnginxグループがec2-userのセカンダリグループに追加されました。・追加確認id ec2-user出力結果uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal),10(wheel)【ユーザーに設定されているセカンダリグループを削除する】[前提]ec2-userに下記の設定がされているとします。uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal),10(wheel)このwheelグループを削除します。[例文]・ec2-userユーザーをwheelグループのメンバーから外すgpasswd -d ec2-user wheel・確認id ec2-user出力結果uid1000(ec2-user) gid1000(ec2-user) groups1000(ec2-user),4(adm),190(systemd-journal)文末にあった「wheel」グループは削除されました。【ユーザーを削除する】[概要]指定したユーザーの削除を行います。[詳細]・構文userdel -r ユーザー名・例文ここでは「ec2-user」を削除します。userdel -r ec2-user確認id ec2-user出力結果id: ec2-user: no such user上記のように出力されれば削除成功です。【参考: wheelグループに所属するユーザーをパスワードなしでrootユーザーにする設定】[概要]上記にも例を出しましたが、ユーザーのセカンダリグループにwheelグループを追加し、「/etc/sudoers」の設定を変更する事でパスワードなしでrootユーザーになる事ができます。その設定方法についてまとめています。[手順]vi /etc/sudoers変更内容# Same thing without a password#%wheelALL(ALL)NOPASSWD: ALL上記の「#%wheel」部分で「#」がコメントアウトを意味します。よって、「#」を削除し「:wq」で保存して下さい。これでwheelグループを設定したユーザーは下記のコマンドでrootユーザーになれます。sudo su -

カテゴリ: Linux 2020-05-23 03:22:38
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

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