CentOSにgitの設定をする
さくらのVPSでCentOSを利用しているが、
ここで開発もまとめてやってしまいたいと思っているので、
githubを利用出来るように環境設定を行う。
yumではgitがリストにないため、インストールできない。
$ sudo yum install git : Setting up Install Process No package git available. Nothing to do
yumリポジトリにgitを含むものを追加
yumリポジトリにgitを含むリポジトリを追加する。
今回は2つのファイルを作成する。
/etc/yum.repos.d/git.repoの作成
[git] name=Base git repository baseurl=http://www.kernel.org/pub/software/scm/git/RPMS/$basearch enabled=1 gpgcheck=0
/etc/yum.repos.d/rpmforge.repo の作成
[rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge enabled = 0 gpgcheck = 0
wgetでpython-hashlib のrpmを取得して、rpmでインストール。
インストールする理由は、yum updateでError performing checksum失敗してしまうため。
$ wget http://skvidal.fedorapeople.org/hashlib/python-hashlib-20081119-2.x86_64.rpm $ sudo rpm -ivh python-hashlib-20081119-2.i386.rpm $ rpm -qa | grep python-hashlib python-hashlib-20081119-2
yum updateで、gitのリポジトリを追加する。
$ yum update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile git updates | 1.9 : updates/primary_db | 1.1 : Setting up Update Process No Packages marked for Update
結果的にgitのインストールでまた違うエラーが発生してしまい、インストールは完了できなかった。
依存関係のあるモジュールが不足しているため、発生しているみたい。
ちょっと一旦、ここで打ち切って違うタイミングで解決させておきたい。
$sudo yum install git : : --> Processing Dependency: libexpat.so.1()(64bit) for package: git --> Processing Dependency: libcrypto.so.10()(64bit) for package: git ---> Package perl-Git.x86_64 0:1.7.4.3-1.fc13 set to be updated --> Processing Dependency: perl(:MODULE_COMPAT_5.10.1) for package: perl-Git --> Finished Dependency Resolution git-1.7.4.3-1.fc13.x86_64 from git has depsolving problems --> Missing Dependency: libcurl.so.4()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) perl-Git-1.7.4.3-1.fc13.x86_64 from git has depsolving problems --> Missing Dependency: perl(:MODULE_COMPAT_5.10.1) is needed by package perl-Git-1.7.4.3-1.fc13.x86_64 (git) git-1.7.4.3-1.fc13.x86_64 from git has depsolving problems --> Missing Dependency: libexpat.so.1()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) git-1.7.4.3-1.fc13.x86_64 from git has depsolving problems --> Missing Dependency: libc.so.6(GLIBC_2.7)(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) git-1.7.4.3-1.fc13.x86_64 from git has depsolving problems --> Missing Dependency: libssl.so.10()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) git-1.7.4.3-1.fc13.x86_64 from git has depsolving problems --> Missing Dependency: libcrypto.so.10()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) Error: Missing Dependency: libcrypto.so.10()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) Error: Missing Dependency: libc.so.6(GLIBC_2.7)(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) Error: Missing Dependency: libcurl.so.4()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) Error: Missing Dependency: libexpat.so.1()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) Error: Missing Dependency: libssl.so.10()(64bit) is needed by package git-1.7.4.3-1.fc13.x86_64 (git) Error: Missing Dependency: perl(:MODULE_COMPAT_5.10.1) is needed by package perl-Git-1.7.4.3-1.fc13.x86_64 (git) You could try using --skip-broken to work around the problem You could try running: package-cleanup --problems package-cleanup --dupes rpm -Va --nofiles --nodigest The program package-cleanup is found in the yum-utils package.
EmacsでPHP開発の環境設定(2)
以前、EmacsでPHP開発の環境設定を試みたが、うまく設定できずにまた今度設定し直すとしたが、今回改めて設定を試みた。
2011-02-16 - SE街道まっしぐら
うまく行かなかったのは、CentOSで以前は、php-modeのインストールに失敗していたが、Emacs21を利用していて、それに対応していないphp-mode-1.5.0のバージョンのelispを設定しようとしていたのが原因だった。つまりは、Emacs23対応のelispを適用しようとして失敗していた。・・・残念だわ。
その原因を踏まえ、今回は、以下の方法でEmacsのインストール・設定を行い、PHPの開発環境の設定を行った。
まず、さくらのVPS(CentOS 5.5)から、Emacs21のアンインストールを行った。
$ rpm -qa | grep -i emacs emacs-common-21.4-20.el5 emacs-21.4-20.el5 emacs-el-21.4-20.el5 $ sudo rpm -e emacs $ sudo rpm -e emacs-el $ sudo rpm -e emacs-common
その後、rpmのリポジトリに存在していないので、以下のように外部のリポジトリから取得する。
$ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/emacs-23.2-13.x86_64.rpm $ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/emacs-common-23.2-13.x86_64.rpm $ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/emacs-el-23.2-13.x86_64.rpm $ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/hunspell-1.2.8-1.x86_64.rpm $ sudo rpm -Uvh emacs-common-23.2-13.x86_64.rpm $ sudo rpm -Uvh emacs-el-23.2-13.x86_64.rpm $ sudo rpm -Uvh hunspell-1.2.8-1.x86_64.rpm $ sudo rpm -Uvh emacs-23.2-13.x86_64.rpm
前回の設定で、php-mode-1.5.0のインストール・設定は済ませていたので、ここでは割愛する。
PHPの補完機能のelispとして、php-completionをインストールする。インストールの順序は、install-elisp.elを使ってphp-completion.elをインストールする。
M-x install-elisp-from-emacswiki anything.el -> C-c C-c M-x install-elisp-from-emacswiki anything-match-plugin.el -> C-c C-c M-x install-elisp-from-emacswiki auto-complete.el -> C-c C-c M-x install-elisp-from-emacswiki php-completion.el -> C-c C-c
php-comletion.elの設定のために、.emacsに以下の設定を記述する。
(add-hook 'php-mode-hook (lambda () (require 'php-completion) (php-completion-mode t) (define-key php-mode-map (kbd "C-o") 'phpcmp-complete) (when (require 'auto-complete nil t) (make-variable-buffer-local 'ac-sources) (add-to-list 'ac-sources 'ac-source-php-completion) (auto-complete-mode t))))
emacsを再起動後、php-completionが有効になっているかどうかを確認する。test.phpを新規作成した後に、aとタイプしてC-oコマンドで候補のリストが表示されることを確認する。問題なく表示されれば、インストール・設定、完了。めでたし。
Screenの設定
Screenは、仮想端末管理マネージャというソフト。
1つのターミナルで複数の仮想ターミナルを利用できる。
ここでは、WEB+DB PRESS vol.40の特集を利用してScreenの利用方法と設定を軽く勉強。
覚えておくべきコマンド
コマンド | 内容 |
---|---|
^T c | ウインドウ作成 |
^T t | 直前のウインドウに戻る |
^T 数字 | 数字で指定したウインドウに切り替える |
^T n | 次の番号のウインドウに切り替える |
^T p | 前の番号のウインドウに切り替える |
^T k | ウインドウを閉じる |
^T [ | コピーモードにする |
^T ] | コピーモードでコピーしたものをペースト |
^T d | デタッチ |
WEB+DB PRESS Vol.40 Æý¸2 ¥µ¥Ý¡¼¥È¥Ú¡¼¥¸
を参照して、Screenの設定ファイルを作成する。
~/.screenrc に以下の内容で作成。
## エスケープキーの設定 escape ^Tt ## ビジュアルベルを無効 vbell off ## ステータス行の設定 hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w" ## スタートアップ時メッセージ無効 startup_message off ## 自動でデタッチする autodetach on ## スクロール行を 10,240行 defscrollback 10240 ## ^T U で UTF-8 / ^T E で EUC-JP を切り替え bind U eval "encoding utf-8" "!!!echo 'export LANG=ja_JP.UTF-8'" bind E eval "encoding euc" "!!!echo 'export LANG=ja_JP.EUC-JP'"
Emacsでclojureを扱い易くする環境設定
Emacsでclojureの開発環境を整えるために、行なったことのメモ。
install-elisp.elをインストール
1.install-elisp.el をダウンロードします。
# curl -O http://www.emacswiki.org/cgi-bin/wiki/download/install-elisp.el
2.ダウンロードしたファイルを ~.emacs.d/elisp フォルダに置きます。
3. .emacs に設定を書いて保存します。
(require 'install-elisp) (setq install-elisp-repository-directory "~/.emacs.d/elisp/")
package.el をインストール
1.EmacsでM-x install-elispコマンドを打ち込む
URLは、http://tromey.com/elpa/package-install.el
2.package-install.elファイルの中身がEmacsに表示される。
C-c、C-cで保存、コンパイル、ロードが行われる。
3.いったんEmacsを終了させる。
4. .emacsに以下の内容が追記されている。
;;; This was installed by package-install.el. ;;; This provides support for the package system and ;;; interfacing with ELPA, the package archive. ;;; Move this code earlier if you want to reference ;;; packages in your .emacs. (when (load (expand-file-name "~/.emacs.d/elpa/package.el")) (package-initialize))
EmacsでPHP開発の環境設定
PHP-modeのインストール
PHPでの開発環境をEmacsを愛用エディタとして環境を整えたいと思ったため、PHP用のEmacs LISPの設定を行う。
(1)拡張プログラムの設定を.emacsに記述する。
拡張プログラムの設定を .emacsに記述する。以下がその内容。
; 設定例 (autoload 'php-mode "php-mode") (setq auto-mode-alist (cons '("\\.php\\'" . php-mode) auto-mode-alist)) (setq php-mode-force-pear t) (add-hook 'php-mode-user-hook '(lambda () (setq php-manual-path "/usr/local/share/php/doc/php-chunked-xhtml") (setq php-manual-url "http://www.phppro.jp/phpmanual/")))
(2)wgetで対象のelファイルを取得。
$ cd $HOME/src $ wget http://sourceforge.net/projects/php-mode/files/php-mode/1.5.0/php-mode-1.5.0.tar.gz/download $ tar zxvf php-mode-1.5.0.tar.gz $ cp $HOME/src/php-mode-1.5.0/php-mode.el $HOME/elisp/.
結果的には、うまく設定できず・・・。
PHPのファイルを読み込んでも、font-lock-comment-faceのエラーが出力され、
色分けされない。.emacsには、以下のフォントの設定変更可能にする
記述を追加しても変わらなかった。
(global-font-lock-mode t)
もうちょっと設定方法について再度、設定してみようかと思う。
CentOSでEmacsのインストール・設定
Emacsの設定
- Emacsの起動
$ emacs
- .emacsファイルの設定
WEB+DB Press Vol.40でEmacsの設定ファイルを紹介していたので、WEB+DB PRESS Vol.40 Æý¸2 ¥µ¥Ý¡¼¥È¥Ú¡¼¥¸よりダウンロードして、利用する。
.emacsを編集後、設定ファイルが問題ないかを確認。
M-x eval-buffer
RubyとEmacsのRubyモードのインストール・設定
- Rubyのインストール
$ sudo yum install ruby
下準備として、次のことを行う。
(1)拡張プログラムをホームディレクトリから読み込めるようにする。
(.emacs)に以下の記述をする。
;; ~/elisp をライブラリパスに追加 (setq load-path (append (list (expand-file-name "~/elisp/") ) load-path))
(2)wgetのインストール
$ sudo yum install wget
(3)ruby-mode.elを取得・修正する。
Rubyのソースに含まれているため、wgetでRubyのソースを取得する。
今回は、v1.9.0-5のソースを取得した。
$ mkdir ~/src $ cd ~/src $ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-5.tar.gz $ tar zxvf ruby-1.9.0-5.tar.gz
解凍したソースの中のmiscディレクトリから、Emacsのruby-modeのもの(*.el)を
~/elisp配下にコピーする。
$ mkdir ~/elisp $ cd ~/src/ruby-1.9.0-5/misc $ cp *.el ~/elisp $ ls README ruby-electric.el ruby-style.el rubydb3x.el inf-ruby.el ruby-mode.el rubydb2x.el
.emacsの設定に以下の内容を記述する。
(autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) (setq auto-mode-alist (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
CentOSの基本設定覚書 MySQLインストール・設定
WEBサーバの設定の次にDBのインストール・設定を行おうと思う。今回はDBにMySQLを用いてインストールと設定を行う。
MySQL設定ファイルの修正
- 文字コードの設定
MySQLインストール後、初期設定として設定ファイルの編集を行う。
/etc/my.cnfをバックアップしてからviで編集。具体的には、文字コードを
UTF-8に変更する。
$ cd $HOME $ cp /etc/my.cnf . $ sudo vi /etc/my.conf
/etc/my.cnf
(9行目〜11行目)
# character-set default-character-set=utf8 skip-character-set-client-handshake
(21行目〜22行目)
[client] default-character-set=utf8
(24行目〜25行目)
[mysql] default-character-set=utf8
(27行目〜28行目)
[mysqldump] default-character-set=utf8
MySQLのサービス登録と起動
- MySQLのサービス登録
chkconfigコマンドで自動起動のために設定を変更する。
初期設定では、offになっている。
$ chkconfig --list mysqld mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
自動起動設定を行って、確認すると、runlevel2~5まで
がonになっている。現在のCentOSのrunlevelは3なので、
OSを再起動してもサービスとして起動されることとなる。
$ sudo chkconfig mysqld on $ chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- MySQLのrootユーザ設定
- rootユーザにパスワードを設定
rootユーザにパスワードを設定。
$ sudo mysqladmin -u root password 'XXXXX'
rootユーザでのログイン。設定したパスワードでrootユーザでログインができた。
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 54 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
不要なユーザーの削除
- 不要なユーザの削除
root以外のユーザは不要であるため、削除を行う。
mysql> SELECT user, password, host FROM user; mysql> DELETE FROM user WHERE user = '' OR ( user = 'root' AND host != 'localhost' ); mysql> SELECT user, password, host FROM user;