fbpx

メニュー

オープンソースPHP製ソフトウェアと利用のコツ

高橋文樹 高橋文樹

この投稿は 13年半 前に公開されました。いまではもう無効になった内容を含んでいるかもしれないことをご了承ください。
フリーってすばらしい
フリーってすばらしい

たまにデジハリでPHP講座の先生やっているので、こういう記事も書いてみます。基本的にはPHPの基礎をある程度理解した人向けです。

ド素人によるPHP開発環境構築・ツール紹介(Mac・Windows)とかぶる部分もありますし、いまちょっと調べたらPHPで動いている高度なオープンソースWebアプリケーション厳選15本まとめという記事もあったりしますが、「PHPでこんなこともできるんだな」ということで参考にしてください。

インストール方法とライセンスの詳細は自分で調べてください。

ソフトの紹介

基本的にはオープンソースが中心です。

CMS

CMSというのはContents Management Systemの略であり、「コンテンツを管理するシステム」を意味します。FTPとかをしなくてもサイトを更新できるというのが一番の魅力なのですが、その最終的に目指すところは「専門的な技術を持たない人でもサイトを運用できるシステム」です。

その用途によってどのツールを使うかは分かれると思いますが、自分の使いやすいソフトを見つけてください。

いずれもモジュールやプラグインと呼ばれる拡張機能を導入することによって、カスタマイズが可能です。Wikiをつけたり、掲示板をつけたり、色々できます。

WordPress 3.0
世界的に使われているWordPress

WordPress

http://ja.wordpress.org/

言わずと知れた有名ブログツールです。ブログ以外も色々とできます。テーマやプラグインの充実度、情報量などを考えると、PHPerが普通のサイトを作るなら、WordPressをオススメしておきます。

ベースがブログツールなので、あるジャンルのコンテンツが日時を追って増えていくようなサイトに向いています。

Drupal公式サイト
Drupalは海外実績多し

Drupal

http://drupal.jp/

純粋なCMSといった感じのツールです。カテゴリーでコンテンツを分けていくWordPressと異なり、サイトの構造を柔軟に設計していくことを目的としています。

日本ではあんまり有名じゃないですが、NASAとかMozillaに採用されているそうなので、信頼性は高いです。

Joomla!公式サイト
Joomlaはスワヒリ語が語源らしい

Joomla!

http://joomla.jp/

Drupalと同じく、拡張性に富んだCMSです。ただ、日本語情報はちょっと少ないかな?

更新もわりと行われてます。

実績の多いXoops Cube
実績の多いXoops Cube

Xoops Cube

http://xoopscube.jp/

海外製のツールXoopsの開発から枝分かれしたCMSです。開発陣はほとんど日本人になりつつあるので、国産CMSの趣を持つようになりました。

CMSというよりは、コミュニティサイトを作成するためのツールなので、会員管理機能が充実しています。WordPressをXoopsの下にぶら下げるモジュールとか、ECをぶら下げるモジュールとか、かなり大規模なプラグインもたくさんあります。

基本的には機能をブロックにわけて、それをポコポコサイト上に置いていくイメージです。

MODx公式サイト
お洒落なMODx公式サイト

MODx

http://modx.jp/

わりと新しいCMSです。WYSIWYGに力を入れているので、サイト構造をカスタマイズする部分なんかもWYSIWYGになっています。

テンプレートシステムもSmartyっぽくてわかりやすいので、マークアップ脳の方は向いているんじゃないでしょうか。サイトのデザインもWordPress以外と比べるとシャレオツです。

スニペットとプラグインという拡張機能がありますが、詳細は作ったことがないのでわかりません。ちなみに、こうした独自テンプレート変数を採用している場合、「その知識は他であまり役に立たない」ということは心しておいてください。

concrete5公式サイト
ロゴが「20世紀少年」みたいなConcrete5

Concrete 5

http://concrete5-japan.org/

商用CMSがオープンソース化したもので、かなり新しいです。サイトを見たまま直していく(管理画面がない)のはけっこう衝撃的です。

拡張まではよくわからないのですが、CMSを運用する人のITリテラシーがメチャクチャ低い場合はかなりオススメです。今後に期待です。

その他CMS

Nucleusとか、Geeklogとか色々あります。

掲示板

掲示板も昔は高機能なCGIツールでしたが、いまはWordPressやXoopsの拡張機能に入っちゃってるので、単独で使うことはあまりないと思います。

が、「既存サイトがすでに存在して、掲示板だけつけたい」という需要もあるかと思いますので、一応紹介します。

phpbb
管理者が変わったのかサイトがお洒落に

phpBB

http://www.phpbb.com/

わりと古くからある掲示板ソフトです。一時期サイトがクラックされて「大丈夫か?」と思った時期もありましたが、直ったみたいですね。

bbPress
WordPressの公式フォーラムもbbPress

bbPress

http://bbpress.org/

WordPressの開発者チームが作っている掲示板です。公式フォーラムにも使われています。

WordPressに慣れている人はこれを使うといいでしょう。また、WordPressとユーザーを共有する機能もついているので、WordPressにフォーラム機能をつける場合はbbPreess一択です。必死こいてプラグイン探さなくても大丈夫!

ECサイト

ECサイトは幾つかありますが、ECのキモはサイトの外側ではなく、バックエンドの処理であります。特に購入アクション開始から決済完了まで(トランザクションといいます)がめんどくさいので、海外製のツールを使う場合はそこに注意してください。

あと、単純な物販サイトならすぐ作れますが、お客さんの要望も色々あると思うので、自分がカスタマイズしやすいものを見つけておくといいでしょう。なんだかんだいって、一番商売になりやすいです。

また、PHPとは関係ないですが、ECのキモはロジスティック(物流)だったりするので、この部分もある程度知っておいた方が親切なアドバイスができるんじゃないでしょうか。

eccube管理画面
EC Cubeは日本のECスタンダード

EC Cube

http://www.ec-cube.net/

国産ECパッケージです。デザインの変更はCSSなんかで可能ですが、ハードなカスタマイズはちょっとめんどくさいです。

Smartyを知っていればできないことはないはずなので、せっかくだからSmartyも覚えましょう。ファイル数が膨大なので、くじけそうになりますが…

一応、公式の決済モジュール(有料)もあったりするので、手数料等を考えてペイすると思えばそれを使うと楽なんじゃないでしょうか。僕は使ったことありませんが。

ThemeforestのMagentoテーマ
有償のハイクオリティなテーマがいっぱい

Magento

http://www.magento-jp.com/

海外製のECパッケージです。最近熱いみたいですね。themeforestとか探すと、Magentoテーマがたくさんでてきます。一応日本語コミュニティもあります。

その他ECソフトウェア

ZencartとかOSCommerceとかありますが、僕個人の意見ではEC Cubeにしておいた方が無難かと思います。

Wiki

WikiはWikipediaみたいなものを作るときに役立ちます。CMSの一種ではありますが、単語ベースでページが生成されていくので、基本的には辞書みたいなものに向いています。コンテンツもほとんど文章にした方がいいです。

ナレッジ(知的財産)を蓄積していくときに役立ちますが、独自の記法を採用している場合が多いので、それをどうしていくかが運用のキモになります。ナレッジとして使用する場合は、会員管理機能も重要です。社内の重要な情報が外部に漏れちゃまずいですよね。

あと、個人的な意見ですが、Wikiは編集する側にある程度の知的レベルが求められます。しっちゃかめっちゃかにならないよう、注意してください。

Wikipediaと同じシステムのMediaWiki
Wikipediaと同じシステムのMediaWiki

Media Wiki

http://www.mediawiki.org/wiki/MediaWiki/ja

Wikipediaを誰でも使えるようにしたソフトです。Wikipediaとそっくりなので、見る側は違和感ないのがいいですね。「○○専用のWikipediaだと思ってください」と言えば、説明も楽です。

日本製WikiのPukiWiki
日本製WikiのPukiWiki

PukiWiki

http://pukiwiki.sourceforge.jp/

日本では一番使われていると思いますが、どうでしょうか。左上のロゴを一回は見たことがあると思います。

Dokuwikiロゴ
ロゴがかわいいDokuwiki

DokuWiki

http://www.dokuwiki.org/

アイコンがかわいいです。Wikiは違いがわかりづらいので、好きなのを選んでください。

SNS

SNSといえばmixiやFacebookです。SNSを導入する際に気をつけてほしいことは、求める機能が本当にSNSじゃないといけないのかを見極めるということです。

SNSは単に会員制のサイトであるというだけでなく、人と人とのつながりを重視したサービス(つまり、コンテンツは重視しない)なので、あまり短絡的にSNSを導入しないようにしてください。SNSの設計を変えるのはけっこう大変でめんどくさいです。

非モテSNS
非モテSNSもOpnePNEだと思う

OpenPNE

http://www.openpne.jp/

mixiのクローンです。mixiみたいなものが作りたい場合は使ってください。デザインのカスタマイズは簡単ですが、機能的に何かをしようと思った場合、カスタマイズは結構大変です。Smarty必須です。

3.0以降はSymfonyになったはずなので、Symfonyモジュールの作り方(vendorディレクトリに何か入れるとか)を知らないと手も足もでないんじゃないでしょうか。

その他SNS

MyNETSというのがありますし、XoopsにもSNS拡張があったような気がします。

クローン系

○○クローンといって、既存のWebサービスを丸パクリしたようなツールが結構あります。「自分達専用の○○がほしい!」という強烈な需要がある場合は導入を検討してみてください。探せば他にも色々あると思います。

Twitterクローン
StatusNet

http://status.net/

Youtubeクローン
PHPmotion

http://www.phpmotion.com/

音楽とか画像とかも共有できます。

はてなブックマーククローン
Pligg

http://pligg.com/

ソーシャルブックマーク以外にも使えるはずですが、投票などのソーシャル機能が豊富なので、そう認知されてますね。

いま検索したら、まとめ記事超有名サイトのPHP製無料クローンスクリプト38選がありました。書く前に調べればよかったですね…

サーバ管理

PHPは便利なので、サーバを管理する諸々のソフトとしても使われています。

一般ユーザ向けに使うことはあまりないと思いますが、知っておくと便利です。

特に新しくサービスを立ち上げる場合は、Webサイトだけでなく、開発環境やメール・DB周りなども一緒に作ることが多いので、知っておいた方がいいでしょう。

また、サーバ管理系のツールはあまりカスタマイズすることもないと思うので、インストール方法だけ知っていればいいんじゃないでしょうか。いざとなったらPHPなので直したりできます。

普通はサーバにインストールされているPMA
普通はサーバにインストールされているPMA

phpMyADmin

http://www.phpmyadmin.net/home_page/index.php

MySQLを管理するためのPHPソフトです。共有レンタルサーバを借りるとはじめから入っている場合もあります。MySQLをコマンドラインでカタカタやるのは大変なので、入れておきましょう。

外部サーバのMySQLも管理できますし、レプリケーションとかもできます。

Postgres使ってる場合はphpPgAdminというのがありますし、SQLite使ってる場合はSQLite Managerというのがあります。

Postfix Adminでmain.cfとさよなら
Postfix Adminでmain.cfとさよなら

Postfix Admin

http://postfixadmin.sourceforge.net/

WebデザイナーからPHPへ進んだ人はPostfix自体を知らないかもしれませんが、要するに送信用メールサーバー(SMTP)だと思ってください。最近はSendmailではなく、Postfixを使っているところが多いです。

メールアドレスの登録とか、ドメインの追加とか、メールの転送設定ができます。Postfixを設定するのは超めんどくさいので、GUIで管理できるようにすると便利です。

WebmailのRoundCube
WebmailのRoundCube

RoundCube

http://roundcube.net/

Gメールみたいなものです。自分でメールサーバを立てたときはこれを使うと楽です。

iF.SVNAdmin
Subversionを管理するiF.SVNAdmin

iF.SVNAdmin

http://www.insanefactory.com/if-svnadmin/

Subversionリポジトリを管理するためのツールです。リポジトリの追加とか、ユーザーの追加とかけっこうめんどくさいので、これを使うと少しだけ幸せになれるかもしれません。

Zabbixはサーバの状況をグラフで通知
Zabbixはサーバの状況をグラフで通知

Zabbix

http://www.zabbix.jp/

サーバを監視するツールです。サーバが落ちてるとか、帯域が遅いとか、メモリがやばいとか教えてくれます。当たり前ですが、監視したいサーバとは違うサーバにインストールした方がいいです。

ここまでくるともうPHPとか関係なくて、サーバに関する知識が求められますね。

情報収集のコツ

新しいものを探す

ソフトウェアを探すときなのですが、更新頻度が高いものを選びましょう。

ググるときも検索オプションで「1年以内」などの指定を行い、古くさい情報を掴まないようにしたいものです。「枯れたソフト」の方がいいソフトなのですが、放置されているとセキュリティホールがそのままになっている可能性が高いので。

日本語情報が多いものを探す

海外ではよく使われているけれども日本語情報が少ないソフトは、国際化などで難アリの場合があります。

工数を節約するつもりで選んだのに、翻訳してたらすごい時間が経ってたなどというケースも考えられるので、注意してください。メール周りやデータベースの文字化けでハマることも多いです。最近のはそういうことも少ないみたいですが…

あと単純に英語ができない場合は日本語を頼りにするしかないですね。

ブログを見る

PHP関連だとMOONGIFTPHPSPOT開発日誌あたりを見ておくと、PHP製ソフトウェアの情報がわりと入ってきます。

まとめ

「なんかPHP製のソフトって色々ありますね」という凡庸な感想しかありません…

インストールして外面だけ変えて運用するのか、プラグインやモジュール開発までディープにやるのかによってビジネスの仕方は変わってくるかと思います。

書いてみて思ったんですが、まとめ記事で全部にスクリーショットつけてる人とか凄いですね! つけようと思いましたが、めんどくさ過ぎて挫折しました。やっぱりがんばってつけました。

すべての投稿を見る

高橋文樹ニュースレター

高橋文樹が最近の活動報告、サイトでパブリックにできない情報などをお伝えするメーリングリストです。 滅多に送りませんので、ぜひご登録お願いいたします。 お得なダウンロードコンテンツなども計画中です。