ConohaでCentOS 7を使ってwebサーバを構築する【準備編】

すぐ忘れるので備忘録。

ミドルウェアのApatchをインストール

ローカルのターミナルからroot権限でConohaで立てたインスタンスの
IPアドレスでsshログインします。


# ローカルのターミナルからrootでログイン
ssh root@xxx.xxx.xxx.xx

まずはwebサーバーのミドルウェアであるApacheをyumコマンドでインストールします。
「完了」もしくは「Complete」と表示されればOK。

# yumを更新
yum update

# Apacheをインストール
yum -y install httpd

# CentOS 7.0でApacheの起動
systemctl start httpd

CentOSでユーザーを設定

rootでログインし続けるのは後々に難儀なことになるので、新しいユーザーを作成します。


# ユーザー(username)を作成
adduser username

# ユーザー(username)のパスワードを設定
passwd username

作成したユーザーでログインしてみる

作成したユーザーがパスワードでログインできるか、テストしてみましょう。

# ローカルのターミナルから登録ユーザー(username)でログイン
ssh username@xxx.xxxx.xxx.xx 

上記のコマンドを入力してもログインできず、下記のように「Permission denied (publickey,gssapi-keyex,gssapi-with-mic).」とエラーメッセージが表示される場合は、rootにあるauthorized_keysをusernameの.sshディレクトリ内にコピーしてオーナー権限を変更します。

# usernameに切り替え
su username

# usernameで秘密鍵を作成
ssh-keygen

# rootのキーをusernameの配下にコピーする
cp /root/.ssh/authorized_keys /home/username/.ssh/

# キーのオーナー権限を変更
chown username:username /home/username/.ssh/authorized_keys

再度、ローカルのターミナルから登録ユーザーでログインしてログインができたのを確認します。

セキュリティ向上のためにrootでログインできなくする

確認が済んだのでrootでログインができないように、sshの設定ファイルを編集します。
再度、root権限でログインします。

# sshの設定を変更するファイルをvimで編集
vim /etc/ssh/sshd_config

~
# PermitRootLoginのyesをnoに変更
PermitRootLogin no
~

# 再起動してssh設定の変更を反映
systemctl restart sshd

ひとまずこれで、Apacheとユーザーの設定をする事ができました。
この後は必要に応じてサーバーの構築をおこなっていきます。

参考URL

  • 逆引きUNIXコマンド/ユーザの切り替えを行う方法・suコマンド – Linuxと過ごす : http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%92%E8%A1%8C%E3%81%86%E6%96%B9%E6%B3%95%E3%83%BBsu%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html
  • SSHでPermission denied (publickey,gssapi-keyex,gssapi-with-mic)の対処法 · DQNEO起業日記 : http://dqn.sakusakutto.jp/2012/01/sshpermission_denied_publickey.html
  • ConoHaのVPSにWEBサーバを構築する | HAORI : https://www.haori.co/sakura-vps/conoha-vps-webserver-build/
  • 第11回:アナタだけに教えたい、Webサーバーのはじめの一歩|VPSならConoHa : https://www.conoha.jp/guide/study-11.php
  • takahoyo.netを構築した – Tahoo!! : http://takahoyo.hatenablog.com/entry/2015/01/10/102846

カスタムフィールドがない場合の条件分岐

カスタムフィールドの値が入っている場合と、そうじゃない時にテーマの表示を変えたい時があります。
post_customで真偽値を元に表示、非表示を振り分けます。

下記のサンプルの場合は”field-name”というカスタムフィールドになにか値が入っている場合は、その下のコードが出力される条件分岐です。

<?php if (post_custom('field-name')): ?>
	<div>フィールドの名前 : <?php echo esc_html( $post->field-name ); ?></div>
<?php endif; ?>

Safariでliの中の文字が折り返す時の解除方法

One ToneというWordPressのテーマをカスタマイズしている中で、Safariのブラウザだけでliの中の最後の文字だけが折り返してしまうことがあったので備忘録。

折り返してしまう要素にwhite-space: nowrap;を指定すると解除できました。


cat-item a {
white-space: nowrap;
}

参考

WordPressでカテゴリーの文字だけ取得する

WordPressで記事のカテゴリー名のみを取得して表示させる方法。

<?php
	// get_the_categoryでカテゴリー情報を$catに代入
	$cat = get_the_category();
	// 配列の最初(0が1番目)の情報を取り出す
	$cat = $cat[0];
	// アロー演算子でカテゴリー名だけを取得
	echo get_cat_name($cat->term_id);
?>

参考:WordPressの現在の記事のカテゴリー情報を取得するget_the_category

英文字の禁則でレイアウトが崩れる問題を回避する

CSSで指定した幅を超えた長い英文字やURLでレイアウトが崩れたり、突き抜けたりすることがあるので回避する方法。
禁則処理を解除して単語の途中でも折り返してしまうため、運用で回避するほうが無難ですが、モバイル端末などの最適化で必須な場合は下記のプロパティを使用して禁則処理を制御します。

body {
  word-break : break-all;
}

参考:word-breakとword-wrapはややこしい