サーバーサイドプログラム基礎

<概要>

⚫︎PHP について
⚫︎WordPressのPHPでの役割について
⚫︎FTPについて

⚫︎(復習)WordPressとは?
WordPressは、オープンソースのブログソフトウェアである。
PHPで開発されており、データベース管理システムとしてMySQLを利用している。
単なるブログではなくコンテンツ管理システム としてもしばしば利用されている。 _Wikipedia

⚫︎(復習)CMS(Contents Management System)とは?:
コンテンツ管理システムは、ウェブコンテンツを構成するテキストや画像などのデジタルコンテンツを統合・体系的に管理し、配信など必要な処理を行うシステムの総称。
2005年頃より一般的に普及したといわれる。
コンテンツマネージメントシステムとも呼ばれる。 _Wikipedia

⚫︎(復習)インターネットの仕組み
複数のコンピュータをケーブルや無線などを使って繋ぎお互いに情報をやりとりできるようにした仕組みをネットワークと呼ぶ。
インターネットは、家や会社、学校などの単位ごとに作られた一つ一つのネットワークがさらに外のネットワークとも繋がるようにした仕組み。
外のネットワークと接続するために、ルータと呼ばれる機器や、インターネットサービスプロバイダと呼ばれる通信事業者のサービスを利用する。
インターネットは世界規模でコンピュータ同士を接続した、最も大きいネットワークだと言える。
ネットワーク上で、情報やサービスを他のコンピュータに提供するコンピュータをサーバ、サーバから提供された情報やサービスを利用するコンピュータをクライアントと呼ぶ。

⚫︎WordPressの仕組みについて

<POINT>
1. サーバを借りる – レンタルサーバーとは?
2. データベースと連携 – MySQLとは?
3. PHP – 「HTML」「CSS」「Javascript」と何が違うか?
4. WordPressのテーマについて – WordPressで作られているWebサイトを編集するにはどうすればいいか?
5. 結局お仕事でいつ使うの? – 具体的にWordPressが扱える必要なスキルレベルってどのくらい??

1. サーバを借りる – レンタルサーバーとは?

レンタルサーバーとは、 Web サイトなどを立ち上げたいユーザーに「サーバー」を「貸し出す(レンタル)」サービスのこと。
サイトを作成するにはサーバーが必要となり、サーバーは自作することも可能だが、専門的な技術が必要となり時間も労力もかかる。
それらを省いてサーバーをレンタルできるサービスがレンタルサーバーである。
Webサイトを初めて立ち上げる方や、サーバー構築の知識がない方はレンタルサーバーを利用するのが基本と考えて問題ない。

2. データベースと連携 – MySQLとは?

MySQLは「マイエスキューエル」と読む。
「SQL」は「データ操作言語」のことで、IT業界の世界的巨人であるIBM社が、世界初のデータベース管理システム(*)「System R」を操作するために開発した。
データベースサーバーの中に入っているデータを取り出したり、データを書き込んだりする処理は、SQLによって制御されている。

例)WordPressのデータベースには投稿に関するデータ、例えばWebページに投稿記事に関する情報(投稿日時、カテゴリ、記事タイトル、本文など)が入っている。
これは、WordPressがデータベースに格納された情報を引き出し、表示させているが、そのデータベースに使われているのがMySQL。
MySQLに格納されたデータをPHPを使って引き出している。

3. PHP – 「HTML」「CSS」「Javascript」と何が違うか?

PHPはHTMLに埋め込むことができるため、Web開発でよく使用されるスクリプト言語である。
Web開発でよく使用されるスクリプト言語にJavaScriptがあるが、PHPとJavaScriptの大きな違いは、そのコードがどこで実行されるかにある。
JavaScriptは、クライアントサイド(Webサイトを閲覧しているブラウザ)がコードを受け取り、そこで動作するため、どのようなコードが書かれているのか、誰でも見ることができてしまう。
一方、PHPはサーバーサイドでコードを実行し、クライアントサイドはその結果のみを受け取るため、どのようなコードで導き出された結果なのか見ることができない。

4. WordPressのテーマについて – WordPressで作られているWebサイトを編集するにはどうすればいいか?

WordPressのテーマとは、Webサイト全体のテンプレートのことで、テーマは複数のファイルの集合体で、デザインなどの内容が一式セットになっている。
そのため、テーマを変更すれば複雑な処理を行うことなく、Webサイトのデザインや構成、機能などを変えることができる。

<ファイルの種類>
PHPファイル
他のファイルに対して、ウェブサイト上で何をすべきかを指示するのに必要なコードが格納されている。
テーマの全体的な構造を保持し、CSSやメディアファイルと相互に作用しながら、それらのファイルに機能面での指示を出す。
CSSファイル
ウェブサイト上のデータをいかに表示するか、つまりデザインの部分を調整する役割を果たす。
フォントサイズ、ボタンの位置、コラムのフォーマットなどを制御することができる。
GIF、PNG、JPGファイル
これらは画像ファイルで、パソコンに保存される標準的なJPGやPNG画像ファイルとほとんど変わらない。
唯一の違いは、これらのファイルがサイト各所での使用のために、ウェブサイトのフォルダに保存されていること。

5. 結局お仕事でいつ使うの? – 具体的にWordPressが扱える必要なスキルレベルってどのくらい??

WordPressでの仕事は、単純に分けると下記3段階である。

①日々の運用更新(投稿ページ・固定ページの編集)
日々の投稿ページに記事やテキスト動画の挿入が出来る

②デザインの変更(HTML・CSS)の編集レベル
PHPの編集は必要になるがHTML・CSSの編集が出来れば対応可能なレベル

③オリジナルテーマ作成を含むシステム開発要素を含む制作
PHPを利用して管理画面、システム開発要素も含む箇所の編集が必要

⚫︎PHP(Hypertext Preprocessor)とは?
PHPは、”The PHP Group”によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語(サーバーサイドのスクリプト言語)、およびその公式の処理系で、Web系のプログラミング言語の中で最も使われているひとつ。
特にサーバーサイドで動的なウェブページを作成するための機能を多く備えていることを特徴とし、シンプルかつ手軽なコーディングで良いため、CMSやECサイト、SNSなどさまざまなジャンルのWebサイトに用いられている。
PHPはHTMLに埋め込むことができ、PHPコードをHTML内に記述するには、PHPコードを記述する箇所を開始タグと終了タグ<? php ~~~~~ ?>で囲む。
PHPプログラムの拡張子は「.php」。

【WordPressとPHPの関係性】
実はWordPressというシステム(CMS、Contents Management System)はPHPによって構築されている。
そのため、WordPressを利用するということは必ずPHPもついて回るということになる。

⚫︎サーバーサイドプログラムとは
サーバーサイド言語とはサーバー内部で動くもので、フロントエンドのプログラムからの指示を受けることで、複雑またはデータベース依存の処理を行う仕組みを作るプログラミング言語。
『フロントエンドに必要な情報を送るためのプログラミング言語』と言える。
サーバーサイドはバックエンドと呼ばれることもある。
サーバサイドが存在することでユーザーが目に見えるフロントエンドに適切な情報が反映されてサービスが利用できるようになっている。

フロントエンドとバックエンド(サーバーサイド)の違い

・言語
<フロントエンド>
HyperText Markup Language(HTML)、Cascading Style Sheets(CSS)、JavaScript

<バックエンド>
Java、PHP、Ruby on Rails、Python、ASP.NET、Golang、SQL、Node.js

・必要なスキル
<フロントエンド>
・HTML、CSS、JavaScriptなどのフロントエンド開発向け言語の知識
・Webフレームワークの知識
・レスポンシブデザインの知識
・テストやデバッグの能力
・問題解決能力
・コミュニケーション能力
・Webブラウザの理解
・UIデザイン能力

<バックエンド>
・コード作成と編集能力
・SQLなどのデータベース技術の知識
・バックエンドフレームワークとプログラミング言語の知識
・セキュリティコンプライアンスの知識
・問題解決能力
・コミュニケーション能力
・モバイルWeb開発の知識
・情報整理力

サーバーサイドスクリプトとクライアントサイドスクリプト
スクリプト(プログラミング)にはサーバー側で動くものとクライアント側(PC側)で動くものがある。

サーバーサイドスクリプト:
Webサーバ上で動作することから、これらの言語を「サーバサイドスクリプト」と呼び、PHPやPerlなどがある。
何らかの操作を実行すると、Webサーバにデータが送信され、サーバの中のプログラムが処理を行い、結果をブラウザに返す。

クライアントサイドスクリプト:
JavaScriptでは、記述したHTMLファイルはWebサーバ上でも公開されるが、ブラウザさえあれば実行することが可能で、Webサーバは必須ではない。
Webブラウザ内でプログラムが実行されるためである。

【レンタルサーバーについて】
1台のサーバーを複数人が共用利用している事によって比較的安価で利用できる点、サーバーの管理は提供元が行うといった点が特徴として挙げられる。
契約プランに則って機能や利用数の制限を定めているため、セキュリティや機能面に問題は発生しづらく安心して使うことができる。

【ドメインとレンタルサーバーの関係】
サーバーはページの閲覧やメールを利用するためにシステムファイルやデータを配置するための領域。
また、複数のユーザーが訪問した際に、リクエストに応じて必要な情報の提供や処理を行う役目を担っている。
ドメインは、レンタルサーバーを契約するのとは別に、ドメイン業者から独自ドメインを取得する契約をする。
サーバーがファイルやデータの置き場所だとするなら、ドメインはその場所を特定するための住所の役割を果たす。
たとえば、Webサイトを表示するために、「 http://○○.○○」のように記述したURLを指定する場合、○○.○○の部分がドメインに相当する。

※メールサーバーとは?
レンタルサーバーにはWebサイトを運営するための「Webサーバー」の他に、メールの送受信やメールアドレスの運用ができる「メールサーバー」と呼ばれる機能も付随している。
この機能で作成したメールアドレスのドメインは、 Web サイトのURLに使っているドメインと同じものになる。
例えばWebサイトのユーザーとメールでやり取りする際、ドメイン名と同じメールアドレスで送信ができれば、ユーザーは安心して内容を確認できる。

国内の主要なレンタルサーバーには、WordPressなどの外部プログラムを自動でインストールできる機能が用意されている。
簡単インストール機能を利用すると、手動でインストール作業を行う手間を省くことができ、ブログの構築にかかる作業時間を短縮できる。

<主なレンタルサーバーと各社>

サーバー名会社
エックスサーバーエックスサーバー株式会社
ConoHa WINGGMOインターネット株式会社
お名前.comサーバーGMOインターネット株式会社
コアサーバーGMOデジロック株式会社
ヘテムルGMOペパボ株式会社
ロリポップGMOペパボ株式会社
mixhostアズポケット株式会社
カラフルボックス株式会社カラフルラボ
さくらのレンタルサーバさくらインターネット株式会社
スターサーバーネットオウル株式会社