Nginxのバーチャルドメインでエラー
- 2014年11月21日
- WEB開発
Nginxのバーチャルドメインを設定していてエラーが発生したので、対処法を自分メモ。
/etc/nginx/conf.d/virtual.conf に下記を追記
1 2 3 4 5 6 7 8 9 10 | server { listen 80; server_name domain1.com; access_log /home/demo/public_html/domain1.com/log/access.log; error_log /home/demo/public_html/domain1.com/log/error.log; location / { root /home/demo/public_html/domain1.com/ public /; index index.html index.php; } } |
/etc/init.d/nginx configtest を実行
1 | nginx you should increase server_names_hash_bucket_size 32 |
エラー発生..
/etc/nginx/nginx.conf のhttpディレクティブに下記を追記
1 2 3 4 | <code>http { server_names_hash_bucket_size 64; ... } |
PHPExcelのXMLWriter.phpエラー
- 2014年10月10日
- WEB開発
1 2 | PHP Fatal Error: Class 'XMLWriter' not found in /***/ Classes/PHPExcel/Shared/XMLWriter.php on line 44 |
PHPでエクセルファイルを生成するPHPExcelを使おうとして上記エラーが発生した時の対処法です。
1 | # yum install php-xml |
GMOクラウドVPSでphpMyAdminを使う
- 2014年06月8日
- WEB開発
今度立ち上げる新サービス用に、GMOクラウドVPSを契約しました。
http://vps.gmocloud.com/
インストールパッケージでLAMPPパックを選択すると、すぐにWEBサービスが始められる環境が整っているのですが、phpMyAdminがありませんでした。まあ、別環境で開発してVPSにデプロイするだけなら不要ですが、今回はVPS上で開発も行うため、phpMyAdminも必須です。yum -y install phpmyadmin でインストールしました。
すんなりインストール成功し、別サーバーで稼働しているデータをインポート。動作確認です。
ところが、SELECT句を実行してみると、件数は表示されるものの、一覧は表示されません。
PHP上からSELECT句でテーブルを参照すると、ちゃんと表示されるので、インポートは正常に行われている模様。
おそらく、GMOクラウドVPSのMySQLバージョンが最新すぎて、yumで入るphpMyAdminがちょっと古めなので、そのへんに原因がありそう。
で、このへんを参考に最新のphpMyAdminを入れてみました。phpMyAdmin自体のインストールは成功しましたが、ワタシの環境でも「phpMyAdmin – Error The json extension is missing. Please check your PHP configuration.」エラーは発生。おそらくGMOクラウドVPSユーザーでLAMPパッケージを選択した人、はみんなここでエラーが出ると思います。yumからjsoncをインストールしました。
GMOクラウドVPSで躓いたのはここくらいです。あとはフツーのLAMPですね。
自宅用にインターネットFAXのD-FAXを契約してみた
- 2014年04月18日
- ブログ
自宅でFAXを受け取る必要が出てきたのだが、今更FAX機を設置するのも嫌なので、インターネットFAXを契約してみた。
お客さんが自分のFAX番号にFAX送信すると、送信内容がメールで届く仕組みだ。文書はメールに画像ファイルとしてメールに添付されてくる。(TIFかPDF形式)
早速自分宛てに1通送信してみたが、普通にFAX受信した用紙をスキャナで取り込んだみたいなTIF画像が添付されてきた。
これは使えるな。TIFで届くとスマホで閲覧するときに不便だから、PDF変換オプションは付けた。
これで自宅でのFAX受信環境は整った。大体このネット時代に、FAXで送りたいと言われること自体めったにないのだが、事情によりFAXでしか送れないお客さんのためにわざわざFAX機を置くのは避けたい。そんな時にD-FAXはいい。
WordPress管理画面が重い時の対処法
- 2014年03月25日
- ブログ
/etc/hostsファイルに、自分のドメインが名前解決できるよう記述する。
1 2 3 | 127.0.0.1 okesys.net 127.0.0.1 child1.okesys.net 127.0.0.1 child2.okesys.net |
/etc/hostsファイルはワイルドカードが使えませんので注意。マルチサイト環境を構築している場合は、全ての子サイトのURLを記述してください。
WordPressで特定のユーザーだけ固定ページでビジュアルエディタを利用できないようにする
- 2013年05月10日
- ブログ
例えば制作業者はHTMLを直接コーディングしたいのでビジュアルリッチエディタを殺しておいて、クライアント側担当者にはWYSIWYGで使ってもらうようなケースに有効。
クライアント側担当者がビジュアルリッチエディタで固定ページのHTMLの記述を開くと崩れる場合があるので注意。
ただまあ、ありがちなのは「会社概要」「沿革」なんかを制作業者が固定ページにHTMLで書いて、クライアントは投稿ページでブログを更新する、なんつうパターンなので、それほど問題にならないかもしれない。
functions.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //ユーザーhogeだけは固定ページでビジュアルエディタを利用できないようにする function disable_visual_editor_in_page(){ global $current_user ; get_currentuserinfo(); if ( $current_user ->user_login == 'hoge' ){ global $typenow ; if ( $typenow == 'page' ){ add_filter( 'user_can_richedit' , 'disable_visual_editor_filter' ); } } } function disable_visual_editor_filter(){ return false; } add_action( 'load-post.php' , 'disable_visual_editor_in_page' ); add_action( 'load-post-new.php' , 'disable_visual_editor_in_page' ); |
Linux上のPHPからSQL Serverに接続するとき、VARCHAR型の最大長は255バイトまで
- 2012年07月26日
- WEB開発
PHPからSQL Serverに接続するとき、VARCHAR型の最大長は255に制限されてしまうので注意!
たとえSQL Serverで型を「varchar(2000)」としていても、mssql_fetch_fieldで調べると
Data type=>CHAR
Max length=>255
となっています。
これを回避するには、SQL Serverで「TEXT型」を選択します。
TEXT型なら64512文字まで使えるようです。
参考:
http://www.makizou.com/php/function.mssql-field-length.html
PHP が使用している API(MS DbLib C API)の制限により、 VARCHAR フィールドの長さは 255 までに限定されます。それ以上のデータを保存したい場合は、かわりに TEXT フィールドを使用します。
jQuery.ValidateをAJAXのPOST送信で使う
- 2012年07月25日
- WEB開発
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | $( function (){ $( '#dialog' ).dialog({ autoOpen: false , width: 800, height: 700, title: '送信フォーム' , modal: true , resizable: true , buttons: { "送信" : function () { if (confirm( "送信してよろしいですか?" )){ if ($( "#FRM" ).validate().form() == true ) { var params = $( "#FRM" ).serialize(); $.ajax({ type: "post" , data: params, async : false , cache: false , error: function (a,b){ alert(b); }, success: function (response) { } }); $( this ).dialog( "close" ); } } } } } } |
12行めの書き方が、普通のmethod=”post”の時とは違うので注意されたい。
jQuery.UI のdialogと jQueryのserializeと AJAXのPOST送信と jQuery.validateの併用方法。
よく使う黄金パターンなので、自分メモ。
さくらのVPSをApacheのバーチャルホストとWordPressのマルチサイトで使い倒す
- 2012年05月14日
- WEB開発
さくらのVPSがラインナップ一新されて、新料金プランになりました。
かねてより「さくらのVPS 512 」を使用中でしたが、同じ金額でスペックが大幅に上がったため「さくらのVPS 1G」に乗り換えました。
その際、折角なのでApacheのバーチャルホストとWordpressのマルチサイトを1つのさくらVPS仮想マシンに設定し、月額980円でApacheのウェブサイトとWordpressサイトを同時に複数ホスティングできる環境を作ったので、自分メモ。
OSインストール
OSはさくら標準のCentOS6(64bit)を選択。なんだかんだで癖がなく使いやすいOSです。
ぐぐればインストール手順解説はいくらでも見つかりますが、今回もいつも使わせていただいているServer Worldさんでいきます。
ただし、Server Worldさんの記事では、iptablesは停止せよとしか書いてないので、ファイアウォール設定だけはコムギドットネットさんを参考に。
OSインストール→セキュリティ設定→WEBサーバーインストール→PHPインストール→MySQLインストール→phpmyadminインストールな流れで進めます。さくらのCentOSはyumのリポジトリも有名ドコロは設定済みなので、yum -y install … でスイスイインストールが進んでいきます。
Apacheのバーチャルホスト設定
いよいよバーチャルホスト設定です。名前ベースのバーチャルホストなので、1つのIPアドレスに複数のドメイン名をぶら下げます。httpd.confでServerNameとServerAliasを設定してやり、ドメインごとに別々のディレクトリを参照させます。
具体的な手順はブログのようなものを参考にさせていただきました。
今回の事例では、 /var/www/html/public_html以下にドメインごとのフォルダを作成しました。
ポイントは、 /var/www/html/直下にファイルを直接置かないこと。
なぜなら、ここにはあとでWordpressをインストールするからです。
WordPressのインストール
wordpressのインストールを進めます。公式サイトからアーカイブをダウンロードして解凍。wp-config.phpを編集したらフォルダまるごとアップロードします。(大量なのですごく時間がかかります。)MySQLにユーザーとDBを作成したらブラウザからinstall.php にアクセスして、最終処理です。簡単ですわー。
手順はいつも公式を参考にしてます。
先程ふれたように、Wordpressは/var/www/html/ にアップロードします。wordpressを複数ドメインで使う(マルチブログ化)するためには、ドキュメントルートにインストールされている必要があるからです。
WordPressをマルチブログ化する
普通にインストールされたWordpressは1つのドメイン名でしか使えません。これを複数のドメインに対応させるには、Wordpressのマルチブログ化を行います。
wordpressでは、サイトを
- サブドメイン方式
xxx.hogehoge.com
yyy.hogehoge.com - サブディレクトリ方式
www.hogehoge.com/xxx/
www.hogehoge.com/yyy/
の2つから選べますが、マルチブログ化できるのはサブドメイン方式だけです。そして、表示方式はサイト運用開始後からはもう変えられません。ですので、必ず初めからサブドメイン方式を選択しておいて下さい。
詳しい手順については WordPressのマルチサイト機能で複数のブログを管理する がわかりやすいです。
DNSサーバーの設定
ドメイン名は安くて安心なVALUE DOMAINで取得してます。
取得したドメインの設定画面を開き、
a * xxx.xxx.xxx.xxx
mx @ 10
txt @ v=spf1 ip4:xxx.xxx.xxx.xxx ~all
と書き換えています。まだメールサーバーは立ちあげてないので、今のところ2行目は不要ですが。
すべてのドメイン名で同じIPへ飛ばしてやればいいので、WPサイト、非WPサイトに関わらず使用する全ドメインの設定を書き換えます。あとはDNS情報が疎通するまでしばし待つ。。
上記で、通常サイトとWordpressサイトを独自ドメインでいくつでも(限界はありますが)ホスティングできる環境が作れました。
このブログも上記のやり方でさくらVPS上のWordpressで稼働しています。同じWordpress上にもう一つ別のドメインもぶら下がってますし、非WPの通常サイトも稼働しています。月額980円でここまでできるとは。
個人がちょっとサイトを作りたいときに1つもっておくと超便利ー。一家に1VPSすな。
WordPress管理画面に「プラグイン」メニューが表示されない時の対処法
- 2012年04月21日
- 未分類
ユーザー権限が「管理者」なのにWordpress管理画面に「プラグイン」メニューが表示されない時の対処法。
特権管理者ユーザーでログインし、[管理メニュー]-[設定]-[ネットワーク設定]の[メニュー設定]から[管理メニューを有効化]にチェックを入れる。この設定を見落としていてちょっと悩んだので自分メモ。
検索
カレンダー
月 | 火 | 水 | 木 | 金 | 土 | 日 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
© 2025 Copyright OKESYS. All rights reserverd.