WordPressは、個人のブログから大規模なサイトまで作ることができるオープンソースのコンテンツ管理システム(以下 CMS)です。現在、全世界の40%以上のサイトがWordPressを利用しており、CMSのシェアでは全世界の60%以上、日本国内のシェアでは80%以上のサイトがWordPressを利用しており圧倒的なシェアを持っています。WordPressは、HTML、PHP、MariaDB(or MySQL)を使用していますが、多くのホスティングサービス・レンタルサーバーの会社では、WordPressを簡単に導入できるツールを提供しており、言語やサーバ運用の詳しい知識無しで運用出来るツールなどを提供しているので多くの会社、ブロガー、アフリエイターなどが使用しています。
しかしちょっと家の中で試してみたいというならUbuntuがあれば外部のサービスを利用する必要はありません、Webサーバ、php、MariaDB、そしてWordPressをインストールすれば自分のディスクトップパソコンにもWordPressのサイトを設置出来ます。
本稿では、WordPressのインストールから、テーマの変更、拡張機能を追加して、オリジナルのサイトを構築する手順を紹介したいと思います。手元にあるので、カスタマイズして壊しても、簡単に削除して再インストールが出来るので、本誌読者であればトライアンドエラーを繰り返し、カスタマイズ方法を学習して仕事に役立てて頂きたいと思います。
apache
基本的なWebサーバーを構築する
私達が普段みているWebサイトは、Webサーバがブラウザより発信されたHTTPリクエストに応じてHTML コンテンツを返信して、ブラウザがレンダリングを行い表示されたものを見ています。
Web サイトといっても凝ったものを用意する必要はありません。プログラミングで勉強したHello World! を Web サイトに表示してみましょう。今回は、Web サーバでもっとも可動実績があるapache を使ってやり方を紹介します。
apr_sockaddr_info_get() failed for
apache を起動したら、/var/log/httpd/error_log に apr_sockaddr_info_get() failed for というエラーが出力されていた。ps コマンドで httpd のプロセスを確認したらちゃんと起動しているし、動作も問題ないようだ。まあほっといても良さそうだけど、一応調べてみた。
ダウンロードしてきた SRPM をビルドする
前回記事 展開したファイルをコンパイル (configure, make) 出来ない
SRPM とは、RPM パッケージを作成する事が出来るソースパッケージです。SRPM の中には、ソースコード、パッチ、構築手順を記した spec ファイル等が含まれており、SRPM をインストールし、spec ファイルをパラーメータにビルド (rpmbuild)を行うとディストリビュータが配布している RPM パッケージと同等の物を作る事が出来ます。
展開したファイルをコンパイル (configure, make) 出来ない
前回記事 圧縮されたアーカイブファイルが展開出来ない!(ソースコードを自分でコンパイルした時のトラブルシューティング)
configure を実行すると何らかのエラーが出力され途中で止まってしまいコンパイル出来ない。コンパイル出来ないからお目当てのソフトウェアがインストール出来なかったなんて経験みなさんあると思います。
圧縮されたアーカイブファイルが展開出来ない!(ソースコードを自分でコンパイルした時のトラブルシューティング)
前回まで、パッケージとパッケージ管理ツールについて説明してきたが、実際 Linux 上で作業をしていて問題に直面した時、どのようにパッケージと付き合っていけば良いかトラブルの例を上げるので一緒に解決していきましょう。
apache(httpd) を使って REST API を実現するためには
apache の mod_rewrite + php を使って、REST API (Web API) を実現する為の設定方法です。ググっても中々出てこなかったのでメモっておきます。
/etc/httpd/conf.d/mod_rewrite.conf
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www/html RewriteEngine On RewriteCond %{REQUEST_URI} ^/api/([^/]+)/([^/]+)/([^/]+) [OR] RewriteCond %{REQUEST_URI} ^/api/([^/]+)/([^/]+) [OR] RewriteCond %{REQUEST_URI} ^/api/([^/]+) RewriteRule /api/(.*) /api/index.php?para0=%1¶1=%2¶2=%3 </VirtualHost>
/var/www/html/api/index.php
<?php $para0 = ''; $para1 = ''; $para2 = ''; if( ! empty( $_GET["para0"] ) ) { $para0 = urldecode( $_GET["para0"] ); } if( ! empty( $_GET["para1"] ) ) { $para1 = urldecode( $_GET["para1"] ); } if( ! empty( $_GET["para2"] ) ) { $para2 = urldecode( $_GET["para2"] ); } print "para0 = " . $para0 . "<br>"; print "para1 = " . $para1 . "<br>"; print "para2 = " . $para2 . "<br>"; ?>
最近のコメント