webサイトをアップロードします。
とくに難しいことはないです。
$ ./configure
$ make
# make install
作業ディレクトリと設定ファイルを作成します。
$ mkdir -m 700 .sitecopy '作業ディレクトリ
$ touch .sitecopyrc ' 設定ファイル
$ chmod 600 .sitecopyrc
設定ファイルを編集します。こんなのを使ってます。 詳しくは、man sitecopy のなかで、CONFIGURATION の項目を参照します。
#
site nifty
server ftp12.nifty.com 'アップロード先のFTPサイト
url http://homepage2.nifty.com/unzu-gumi/
username [username]
password [password]
remote /homepage/'アップロード先のディレクトリ
local ~/work/www/nifty/homepage/'手元のディレクトリ
exclude "*#"
exclude *~
exclude "*.xcf"
exclude ".*"
# symlinks maintain 'FTPでは使えない
permissions all
#
アップロード先のファイル配置を sitecopy に把握させます。
既存のアップロード先が存在し、手元のファイルより古い場合。
$ sitecopy --fetch [sitename]
既存のアップロード先のファイルをいったんダウンロードして更新していく場合。
$ sitecopy --fetch [sitename]
$ sitecopy --synch [sitename]
アップロード先にファイルが存在しない場合。
$ sitecopy --init [sitename]
これで準備ができました。
ローカルでファイルを修正してから、sitecopyでサーバへアップロードします。 $ sitecopy --update [sitename]
設定ファイルは、~/.emacs.d/ 以下になりました。
設定ファイル key_el を有効化するとDeleteキーがカーソル位置の 文字を削除する(Ctrl-dと同じ)ようになります。
ファイル名を*.elとすると、有効化しますのでファイル名をリネームします。
$ cd ~/.emacs.d/site-start.d/
$ mv key_el key.el
勝手に行を分割されてしまうのが気持ち悪いので少し触っておきます。
設定ファイル( ~/.emacs.d/init.el )に追加します。
htmlファイルを編集するときの自動折り返しさせない
(add-hook 'yahtml-mode-hook
'(lambda ()
(auto-fill-mode -1)
) t)
ちなみに、htmlファイルを編集するときの自動折り返し桁数を指定するとき
(add-hook 'yahtml-mode-hook
'(lambda ()
(setq fill-column 78)
) t)
ビープ音が煩わしいとき。画面点滅に置き換える or 警告を無効化します。
設定ファイル( ~/.emacs.d/init.el )に追加します。
;; 警告音の代わりに画面点滅
(setq visible-bell t)
;; 警告音も画面点滅もすべて無効化
(setq ring-bell-function 'ignore)
定型句の入力などに。使い方はこちら。
以下を設定ファイルに追加することで,登録文をキーワードから展開できるようになります。
(global-set-key "\M-/" 'expand-abbrev) ;;展開するキーの設定(通常は C-x ')
ここを参考にしました。
perlのインデントはタブ文字でなくスペースで。
;; perlではインデントをスペースで
(setq cperl-indent-tabs-mode nil)
マウスのホイールでのスクロール行数を指定するとき
;; ページスクロール
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up)
;; 5行ずつ
(global-set-key [mouse-4] '(lambda () (interactive) (scroll-down 5)))
(global-set-key [mouse-5] '(lambda () (interactive) (scroll-up 5)))
;; 1/3画面
(global-set-key [mouse-4] '(lambda () (interactive) (scroll-down (/ (window-height) 3))))
(global-set-key [mouse-5] '(lambda () (interactive) (scroll-up (/ (window-height) 3))))
起動直後は、上半分が開くように指定したファイル、下半分に初期メッセージでウィンドウが分割されて表示されます。 C-x 1 で上半分の1画面表示にすれば良いのですが、いちいち面倒なので初期メッセージの表示を止めます。
;; 起動直後の画面分割をしない(初期メッセージを表示しない)
(setq inhibit-startup-message t)
.h ファイルを編集したあとで、保存しようとしたらエラーになって保存できませんでした。
最近はデフォルトの文字コードが指定されなくなったのだそうですが、 一部のモードでエラーになることがあるみたいです。
;; デフォルトの文字コードを指定
(setq default-buffer-file-coding-system 'utf-8)
ImageMagicなるコマンドは存在しません。
イメージファイルを50%サイズに縮小する。 $ convert -geometry 50%x50% [sourcefile] [productfile]
イメージファイルを400dots×400dotsサイズに縮小する。 $ convert -geometry 400x400 [sourcefile] [productfile] 画像の縦横比は変更されず、寸法の大きい方が400ドットになるように縮小されます。 たとえば元の画像が800×600であれば400×300になりますし、 元の画像が600×800であれば300×400になります。
彩度を0にすればいけるのではないかと...
自宅内のみ参照可能なwebサーバにしてます。公開しているwebページをローカルで動作確認する用。
別途インストールした場合は、起動スクリプト( /etc/rc.d/init.d/httpd )のapachectlへのパスを修正する必要があります。
本来はCGIとHTMLは別ディレクトリにするべきなのでしょうが、 当方ではCGIはhtmlドキュメントと同じディレクトリに収めています。
なので、それ用の設定をします。
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
....
LoadModule cgid_module modules/mod_cgid.so
....
DocumentRoot "/home/www"
<Directory "/home/www">
....
Options Indexes FollowSymLinks ExecCGI
....
</Directory>
....
<IfModule mime_module>
....
AddHandler cgi-script .cgi
....
</IfModule>
....
※上記は、HTMLドキュメントの表示は設定済な状態で、CGIを実行するために追加で設定する部分です。
他に、User, Group, DocumentRoot等の指定が必要です。
さくらインターネットを使っています。
とくに、CGI絡みはパーミッションが合わないとエラーになったり、きちんと表示できなかったりします。
指定の内容はこんな感じ
findコマンドで設定するとすれば、こんな感じ。
(CGI) $ find . -type d -exec chmod 701 {} \; $ find . -type f -exec chmod 600 {} \; $ find . -name "*.cgi" -exec chmod 700 {} \; $ find . -name "*.html" -or -name "*.css" -or -name "*.jpg" -or -name "*.png" -exec chmod 604 {} \;
(HTML) $ find . -type d -exec chmod 705 {} \; $ find . -type f -exec chmod 604 {} \;
sitecopyコマンドならパーミッションも同期させてくれるので、ローカルでパーミッションを指定してからsitecopyでupdateさせるのがラクです。
レンタルサーバでperlによるCGIのエラーメッセージを拾いたいとき。
自宅では動くのに、レンタルサーバにアップしてみると動かない。ということはままあります。今までの少ない経験だと、原因は、
が多いのですが、モジュールの不足については、そもそもモジュールが不足しているかどうか、どのモジュールが必要なのかを調べるのは難しいです。
で、 KCatchを使ってみると良いかもしれません。Internal Server Error を補足してウェブブラウザ画面に表示してくれます。