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
長い行がウインドウ右端から折り返しされたときに、インデントを考慮した位置から表示されるようにします。
adaptive-wrapパッケージをインストールします。
M-x package-install adaptive-wrapデフォルトで有効にはできないようなので、メジャーモードに紐付けるように設定します。ネットで調べると visual-line-mode に紐付ける例が多いのですが、私は visual-line-mode を使っていません。ここでは、web−modeに紐付けします。
(use-package adaptive-wrap
:hook (web-mode . adaptive-wrap-prefix-mode))
任意の編集画面(バッファ)で、有効化↔無効化)するには、ミニバッファで M-x adaptive-wrap-prefix-mode とします。
javaScriptやphpのコードにも対応してくれます。 [参考] [公式サイト]
emacsのミニバッファで操作します。
M-x package-instll しばらく待つとプロンプトが変わりますので、インストールするパッケージ名を入力します。 Install package: web-mode~/.emacs.d/init.el に追記します。
;########################################
; web-mode setting
;########################################
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.jsp$" . web-mode))
(add-to-list 'auto-mode-alist '("\\.html?$" . web-mode))
(add-to-list 'auto-mode-alist '("\\.css$" . web-mode))
(defun web-mode-hook ()
"Hooks for Web mode."
;; indent
;; indent
(setq web-mode-markup-indent-offset 2) ; HTML
;(setq web-mode-attr-indent-offset 2)
(setq web-mode-css-indent-offset 4)
(setq web-mode-style-padding 0)
(setq web-mode-script-padding 0)
(setq web-mode-code-indent-offset 4)
(setq web-mode-block-padding 0)
;; auto tag closing
;0=no auto-closing
;1=auto-close with </
;2=auto-close with > and </
(setq web-mode-tag-auto-close-style 1)
)
(add-hook 'web-mode-hook 'web-mode-hook)
;;
;; 色の設定
;; ※テーマを設定すると吸収されて消える (→init.elファイルのテーマ設定のあたりに動く)
;;
(custom-set-faces
'(web-mode-doctype-face
((t (:foreground "#82AE46")))) ; doctype
'(web-mode-html-tag-face
((t (:foreground "#E6B422" :weight bold)))) ; 要素名
'(web-mode-html-attr-name-face
((t (:foreground "#C97586")))) ; 属性名など
'(web-mode-html-attr-value-face
((t (:foreground "#82AE46")))) ; 属性値
'(web-mode-comment-face
((t (:foreground "#D9333F")))) ; コメント
'(web-mode-server-comment-face
((t (:foreground "#D9333F")))) ; コメント
'(web-mode-css-rule-face
((t (:foreground "#A0D8EF")))) ; cssのタグ
'(web-mode-css-pseudo-class-face
((t (:foreground "#FF7F00")))) ; css 疑似クラス
'(web-mode-css-at-rule-face
((t (:foreground "#FF7F00")))) ; cssのタグ
)
ビープ音が煩わしいとき。画面点滅に置き換える 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 を補足してウェブブラウザ画面に表示してくれます。