WordPress がデータベース接続確立エラー
VM 環境の WordPress で MySQL を使用しているのですが、VM 稼働中に OS を再起動してしまったら、WordPress が「データベース接続確立エラー」と表示するようになりました。
それで、SSH でサーバーにログインして、mysqld を start させようとしたところ、
Another MySQL daemon already running with the same unix socket.
というエラーが表示されるようになってしまいました。
困っていて Web で検索をしていたところ、以下の手順を行うことで復旧しました。
service mysqld stop
mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
service mysqld start
MacでさくらサーバーにLAMP環境構築
順番
- MacBookでSSH 接続用のRSA鍵を作成する
- サーバーに使用するユーザーとパスワードの追加
- 作成したRSA鍵をサーバーにSCPでコピー
- MacBookから接続確認
- サーバーのSSH設定変更
- sudo設定変更
macbook:~ hogehoge$ ssh-keygen [Enter] Generating public/private rsa key pair. Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): [Enter] Enter passphrase (empty for no passphrase): [好きなパスワードを入力] Enter same passphrase again: [好きなパスワードを再入力] Your identification has been saved in /Users/hogehoge/.ssh/id_rsa. Your public key has been saved in /Users/hogehoge/.ssh/id_rsa.pub.
サーバーに使用するユーザーとパスワードの追加
次に、サーバーで使用するユーザーとパスワードを登録する。リモートコンソールを使ってサーバーにログイン。
[root@xxx ~]# useradd hogehoge[Enter] [root@xxx ~]# passwd hogehoge[Enter] Changing password for user hogehoge. New UNIX password:[新しいパスワードを入力] Retype new UNIX password:[新しいパスワードを再入力] passwd: all authentication tokens updated successfully. [root@xxx ~]#usermod -G wheel hoeghoge //root 制限用に wheel に所属させる
作成したRSA鍵をサーバーにSCPでコピー
今度はMacBookからサーバーに、先程作成したRSA鍵をコピーする。コピーにはSCPというコマンドを使用する。
/Users/hogehoge/.sshにあるid_rsa.pubをサーバーへコピー。sakuraにはサーバーのIPとかドメインを入れる。
macbook:~ hogehoge$ cd .ssh
macbook:.ssh hogehoge$ scp id_rsa.pub tokikane@150.000.00.00:~/.ssh
コピーできたら、リモートコンソールで再度サーバーにログインし設定を変更する。
CentOS release 5.5 (Final) Kernel 2.6.18-194.26.1.el5 on an x86_64 wwwhogehoge.sakura.ne.jp login: hogehoge Password: Last login: Fri Apr 1 00:00:00 from hogehoge.hoge.hoge.ne.jp SAKURA Internet [Virtual Private Server SERVICE] [hogehoge@xxx ~]$ cd .ssh [hogehoge@xxx .ssh]$ cat id_rsa.pub >> authorized_keys [hogehoge@xxx .ssh]$ chmod 600 authorized_keys
MacBookから接続確認
MacBookからターミナルで接続してみる。sakuraにはサーバーのIPとかドメインを入れる。初回はRSA鍵を作成した時のパスワード(パスフレーズ)を入力しろと言われるけど、二回目からは入力無しで繋がる。
macbook:~ hoge$ ssh hogehoge@sakura //RSA鍵を作成した時のパスワード入力を促される Identity added: ~/.ssh/id_dsa (~/.ssh/id_dsa) Last login: Fri Apr 1 00:00:00 from hogehoge.hoge.hoge.ne.jp SAKURA Internet [Virtual Private Server SERVICE] [hogehoge@xxx root]$ exit logout Connection to hogehoge.hoge.hoge.ne.jp closed. macbook:~ hoge$ ssh hogehoge@sakura //そのまま VPS サーバ内へ移動するはず Last login: Fri Apr 1 00:00:00 from hogehoge.hoge.hoge.ne.jp SAKURA Internet [Virtual Private Server SERVICE] [hogehoge@xxx ~]$
Apacheのインストール
インストールされてるか確認
$ rpm -qa httpd
入ってないので、インストールする。
$ sudo yum -y install httpd
インストールされたか以下のコマンドで確認
$ rpm -qa httpd
$ httpd -v
Apacheの初期設定をする
yum でインストールした場合は自動的に apache というユーザーが作成されている。
$ cat /etc/passwd | grep apache
apache:x:48:48:Apache:/var/www:/sbin/nologin
シェルに /sbin/nologin (稼働専用)となっているので、このユーザをそのまま使用する。
httpd.confのバックアップをとる
$ sudo cp /etc/httpd/conf/httpd.conf $HOME
viでhttpd.confを開き編集する
$ sudo vi /etc/httpd/conf/httpd.conf
1: 44行目のWeb サーバーにアクセスしたクライアントに返す情報を変更する
デフォルトだとhttpレスポンスヘッダにOSの情報が載ることになるので、ハッカーに余計な情報を与えないように
「OS」になっている部分を「Prod」に変える。
これでレスポンスヘッダには Server: Apache しか返らない。
ServerTokens OS
2: 251行目の障害発生時にユーザへ表示する連絡先メアドを適当なアドレスに変更する
ServerAdmin root@localhost
3: 265行目のサーバー名を変更
「#」を外してコメントアウト解除し、サーバーのホスト名を書く。
DNS に登録していないなら IP アドレスを指定。
#ServerName www.example.com:80
4: 320行目のオプション設定を変更
Indexsが設定されていると、もしユーザーがページを開いた時にindex.htmlがなければファイル一覧ページが自動生成されてしまい、ハッカーにファイル構成が知られてしまうので、無効にする。
「Indexes」の前に「-」を加える
Options Indexes FollowSymLinks
5: 524行目のエラーページなどに出力されるサーバー情報を変更
これも情報を与えすぎない様に「Off」にしておく。
ServerSignature On
以上変更したら保存し、設定に問題ないか確認。
$ sudo apachectl configtest
Syntax OK
Apacheを起動する
$ sudo service httpd start
httpd を起動中: [ OK ]
Apacheを起動する
$ sudo service httpd start
httpd を起動中: [ OK ]
サイトにアクセスしてテストページが表示されればOK。
最後にOS起動時にApacheも自動で起動されるようにする。
$ sudo chkconfig httpd on
$ chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQLをインストールする
$ sudo yum -y install mysql-server
インストールされたか確認する。
$ rpm -qa mysql-server
mysql-server-5.1.71-1.el6.x86_64
文字コードを設定する
UTF-8にする。
my.cnfファイルをHOMEディレクトリにバックアップしてから、
元ファイルを開く。
$ cd $HOME
$ cp /etc/my.cnf .
$ sudo vi /etc/my.cnf
以下のように記述
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# character-set
default-character-set=utf8
skip-character-set-client-handshake
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
"/etc/my.cnf" 23L, 446C
保存する。
自動起動にする
Apacheと同じくOS起動時に自動起動するように設定する。
$ sudo chkconfig mysqld on
$ chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQLを起動する
$ sudo /etc/rc.d/init.d/mysqld start
rootユーザにパスワードを設定する
データベース操作の全権限を持っているrootユーザにパスワードを設定する
$ sudo mysqladmin -u root password パスワード
rootユーザでログインする
$ mysql -u root -p
PHPをインストールする
画像合成などに使えるgdやpearなどのライブラリもインストールしておく。
sudo yum -y install php php-mbstring php-mcrypt php-mysql php-pear php-gd
php.iniを編集
タイムゾーンを日本時間にする
下記に変える
date.timezone = “Asia/Tokyo”
GRANT構文の実行権限をもつユーザを作成 †
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザー名@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
DB 作成 †
文字コードを設定してDBを作成 †
mysql> CREATE DATABASE データベース名 CHARACTER SET utf8;
Unknown class FBProfilePictureView in Interface Builder fileエラー対処方法
iOS Facebook profile写真読み込む時 Unknown class FBProfilePictureView in Interface Builder fileエラー対処方法
- AppDelegate.mのapplication didFinishLaunchingWithOptions の一行に [FBProfilePictureView class]; 追加
シートにcsvファイルの名前を付けてcsvをexcelブックで開くマクロ
Sub fileopen() Dim FileNames As Variant Dim fn As Variant Dim SheetName As String FileNames = Application.GetOpenFilename _ ("CSV(*.csv),*.csv", MultiSelect:=True) If VarType(FileNames) = vbBoolean Then Exit Sub For Each fn In FileNames ' Worksheets.Add After:=Worksheets(Worksheets.Count) SheetName = Dir(fn) ' ファイル名で新しいシート作成 Set NewWorkSheet = CreateWorkSheet(SheetName) With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & fn, _ Destination:=Range("A1")) .Name = ActiveSheet.Name .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 932 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileCommaDelimiter = True .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With ActiveSheet.UsedRange.QueryTable.Delete Next fn End Sub Function CreateWorkSheet(WorkSheetName As String) As Worksheet ' 変数定義 Dim NewWorkSheet As Worksheet Dim iCheckSameName As Integer ' ワークシートの作成 ' ※一番最後に挿入 Set NewWorkSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count)) ' 同じ名前ワークシートが無いか確認 iCheckSameName = 0 For Each WS In Sheets If WS.Name = WorkSheetName Then MsgBox "ワークシート名:" + WorkSheetName + " この名前は既に使われています。" iCheckSameName = 1 End If Next '同じ名前のワークシートがなければ If iCheckSameName = 0 Then NewWorkSheet.Name = WorkSheetName Set CreateWorkSheet = NewWorkSheet End If End Function
MacにLinuxインストール方法
MacにLinuxインストール方法
1.下記のURLから無料評価版VMware Fusionダウンロード及びライセンスキー取得
https://my.vmware.com/jp/web/vmware/evalcenter?p=vmware-fusion5
2.CentOs6.2のダウンロード及びvmware Fusionにインストール
手順は下記のURLを参考ください。
http://devugger.com/2012/05/install-centos-6-2-on-macbook-air/
下記はLpic101の1章(システム構成)教科書のPDF版です。
行方不明家族お兄さんを探しています!
行方不明家族お兄さんを探しています!