LAMP」カテゴリーアーカイブ

LAMP環境でブログを作成して学んだこと9(まとめ2)

オリジナルブログの開発のまとめ

1:CentOS7のインストールとSSH公開鍵認証設定

  1. VPSの標準OSとしてよく採用されているCentOS7で開発した。
  2. VPSにCentOS7をインストールして起動
  3. VPSにログインして、SSHクライアント(MACはターミナル)を使いSSH(Secure Shell)というプロトコルを使って設定作業を行う。
  4. OSをアップデートする(yum update)
  5. rootユーザーだとセキュリティー上マズイので一般ユーザーを作る
  6. 一般ユーザーをwheelグループに入れてsudoコマンドで管理者権限を使えるようにする。
  7. SSH公開鍵認証設定する。
  8. SSHのポート番号22から49152~65535の動的使用ポート間に
    許可を変える(今回は55555とした)
  9. パスワードリスト攻撃,ブルートフォースアタックなどを防ぐために
    空白のパスワード,rootログイン,パスワードログインを禁止する
  10. ファイアウォールでのPort55555の接続の許可設定をする
  11. Port55555のみ接続を許可したいのでsshの許可設定を消去する

2:Apacheのインストールと設定

続きを読む

LAMP環境でブログを作成して学んだこと8(まとめ)

そもそもなぜLAMP環境で開発したのか?

おさらいLAMPは以下のものでWordpressも含みます。

  • L: Linux  ・・・OS(CentOS7)
  • A: Apache ・・・Webサーバ (Apache 2.4)
  • M: MySQL ・・・データベース (MySQL 5.7)
  • P: PHP     ・・・プログラミング言語 (PHP 7)
  • +Wordpress・・・ブログソフトウェア

1:OS(基本ソフトウェア)⇒「Linux」

サーバーでよく使われるOS。オープンソースで無償利用できる
OSがインストールされることで、サーバーはサーバーとして起動することができるため。

続きを読む

LAMP環境でブログを作成して学んだこと7(保守運用)

※ご注意!情報が古くなっており(PHPバージョンなど)、うまく動作しない場合があります(追記)

1:さくらのVPSを使ったサーバーの保守運用

サーバーを保守・運用していくには、セキュリティ情報を収集して、迅速に対応することが重要。
セキュリティー対策を怠ると、情報漏えいにつながったり、犯罪の踏み台として使われる恐れがある。

日本語でセキュリティ情報を入手する

信頼性が高い主な情報源

  1. JPCERT コーディネーションセンター
    情報セキュリティ対策活動を実施
    公式サイトhttps://www.jpcert.or.jp/
  2. Japan Vulnerability Notes
    脆弱性対策情報ポータルサイト
    公式サイトhttp://jvn.jp/
  3. 「IPA 独立行政法人情報処理推進機構」
    日本におけるIT国家戦略を技術面、人材面から支えるために設立。
    公式サイト https://www.ipa.go.jp/security/index.html

2:アプリケーションをアップデートする

続きを読む

LAMP環境でブログを作成して学んだこと6(SSL証明書設定)

さくらのVPS環境からの独自ドメインブログ作成の概要

※ご注意!情報が古くなっており(PHPバージョンなど)、うまく動作しない場合があります(追記)

10:SSL証明書設定

httpsに対応することでサーバーとユーザー間の通信が暗号化される
suzutukiblog.comはドメイン名(このサイト)

sudo vim /etc/httpd/conf.d/blog.suzutukiblog.com.conf

  #以下のように記述

<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName suzutukiblog.com
</VirtualHost>
apachectl configtest

#Syntax OKと出ればOK

sudo systemctl restart httpd

#再起動して設定を反映

certbotApacheCentOS7を選択

sudo yum install certbot python2-certbot-apache
sudo certbot --apache

ブラウザでhttps://各自購入したドメイン名.comとなっていればOK
続きを読む

LAMP環境でブログを作成して学んだこと5(リポジトリのインストール)

さくらのVPS環境からの独自ドメインブログ作成の概要

※ご注意!情報が古くなっており(PHPバージョンなど)、うまく動作しない場合があります(追記)

8:EPEL,remiリポジトリのインストール

リポジトリとはソフトウェアが格納されているデータベースのようなもの
EPELリポジトリ,Remiリポジトリ
mysql,PHPの新バージョンを集めているリポジトリ

EPELリポジトリのインストール

sudo yum install epel-release

remiリポジトリをインストール

sudo yum localinstall https://rpms.remirepo.net/enterprise/remi-release-7.rpm

9:PHPのインストール

続きを読む

LAMP環境でオリジナルブログを作成して学んだこと4(Apachインストール)

さくらのVPS環境からの独自ドメインブログ作成の概要

※ご注意!情報が古くなっており(PHPバージョンなど)、うまく動作しない場合があります(追記)

6:Apacheインストール方法と設定(利用できるApache(httpd)を確認とインストール)

yum list available | grep httpd
sudo yum install httpd

#apache立ち上げ

sudo systemctl start httpd
systemctl status httpd   

#active(running)となっていればOK

httpで使う80とhttpsで接続する時に使う443ポートを開ける

sudo firewall-cmd --add-service=http --zone=public --permanent
sudo firewall-cmd --add-service=https --zone=public --permanent

#設定を反映

sudo systemctl restart firewalld

#http httpsが許可されているのを確認

sudo firewall-cmd --list-all

ここでブラウザに各自のIPアドレスを入力し、ApacheのテストページになっていればOK

#OS再起動の時自動で起動するようにする

sudo systemctl enable httpd

#念の為確認

sudo systemctl list-unit-files -t service | grep httpd

htmlディレクトリにapacheユーザーと
webgroupに所属するreimを読み書き実行できるようにする

cd /var/www/
ls -la

表示されるhtmlディレクトリの中にhtmlファイルを保存することでWebサイトを公開できる。
パーミッションがrootになっているのを確認
グループを追加する(ここではwebgroupとする)
続きを読む

LAMP環境でブログを作成して学んだこと3(OSインストール)

さくらのVPS環境からの独自ドメインブログ作成の概要

こちらでまとめているのでどうぞ

※ご注意!情報が古くなっており(PHPバージョンなど)、うまく動作しない場合があります(追記)

1:さくらのVPS利用申込み

VPSとは?
VPS (Virtual Private Server。仮想専用サーバー)で
VPSでは、物理サーバーにインストールされているOS(ホストOS)の上に、ユーザーそれぞれに仮想サーバーが割り当てられ、ユーザーはその仮想サーバーを専有して使える。
仮想サーバーにはホストOSとは別のOS(ゲストOS(今回はCentOS7)がインストールされており、ユーザーが管理者権限を持って自由に操作することができる。
レンタルサーバーより他のユーザの影響を受けにくくなる。
割安な点も良い

デメリット
サーバーを自分で構築し、メンテナンスできるスキルや労力が必要となり、HTTPサーバーのインストールや、セキュリティアップデートも自分で行わなければならない。

こちらから登録を行う

2:CentOSのインストール

さくらのVPSの各種設定から行いインストールOSをCentOS7 x86_64
管理ユーザのパスワードを設定
スタートアップスクリプトは特に設定無しでインストールする

3:SSH接続

SSH Secure Shellと言って暗号や認証の技術を利用して安全に
リモートコンピュータと通信するための仕組み。Macはターミナルを使い
Windowsの場合はターミナルソフト(RLogin等)をインストールして利用する 
Macの場合はssh root@IPアドレスで接続をする

続きを読む

LAMP環境でオリジナルブログを作成して学んだこと2(Linuxコマンド))

LAMP環境で開発することによって以下のようなコマンドに触れることができたので忘れないようにメモします。

※←はコメントです。

1:基本的なLinuxコマンド。

clear:                                 画面をクリアする

※上にスクロールすれば見ることができます。

pwd:                                現在のディレクトリの場所を表示する。

※今どこにいるのかわからないときに使うと便利だと思いました。

exit:                                    ログアウトする

※結構使うイメージ

reboot                                再起動

※ターミナルでコマンドするとMacを再起動できます。でもあまり使わないかも 

sudo shutdown -r now   上と同じで再起動

shutdown -h now             直ちにシャットダウン

※これもあまり使わないかも・・・

2:ディレクトリの作成と削除

mkdir: 指定した名前のディレクトリを作成します。

 -相対パスで指定するとき(カレントディレクトリが/root) 

mkdir -p file12/file13

  -絶対パスで指定するとき 

mkdir -p root/file14/file15
touch -ファイルがない場合空のファイルを作成します。
touch example

ファイルのタイムスタンプ(最終アクセス日時、最終変更日、最終ステータス変更日時)を変更します

touch -d "22 April 2015 21:00am" file1.txt  

rmdir: ディレクトリを削除 

※中身が空でないと実行できないので注意です。

続きを読む

LAMP環境でオリジナルブログ(このサイト)を作成して学んだこと1(概要)

0:なぜ作成したのか?

  1. Linux標準教科書で学んだことを応用して実際にオリジナルブログを作成することで、アウトプットできて学習の効率を上げることができるからです。
  2. ブログで、他の学習のアウトプットができる。
  3. Linuxコマンドに慣れるため

1:LAMP環境とは?(バージョンは実際に使用したバージョンです)

  • L: Linux  ・・・OS(CentOS7)
  • A: Apache ・・・Webサーバ (Apache 2.4)
  • M: MySQL ・・・データベース (MySQL 5.7)
  • P: PHP     ・・・プログラミング言語 (PHP 7)
  • +Wordpress・・・ブログソフトウェア 上記のL A M Pをあわせたもの

Linuxとは?

  • サーバー、PC、スーパーコンピューター、 組み込み機器(携帯電話・テレビ)などに幅広く使われています。
  • Web業界ではサーバー OS の第一選択肢

Apacheとは?

  • 世界中で使用されているWebサーバーソフトウェア(HTTPサーバー)。サーバーを構築するにはWebサーバーソフトウェアが必要となります。
  • 他にも様々なWebサーバーソフトウェアがあります。

MySQLとは?

  • データベース管理システムでリレーショナルデータベース(RDBMS)に属しています。
  • リレーショナルデータベース(RDBMS)とは、データを、複数の行と列で構成された「表(テーブル)」の形式で取り扱います。
  • MariaDB・PostgreSQLなど他にもいろいろな種類があります。

続きを読む