Vagrantで立ち上げた仮想CentOSのファイルをCyberduckから操作したい
環境
OSX EICapitan
Vagrant 1.9.7
VirtualBox 5.1.24
CentOS7
下準備
さくらVPS(CentOS7)をWebサーバ化してHelloWorldする
環境
さくらのVPS CentOS7
ログイン
$ ssh root@[IPアドレス]
パスワード入力欄が出てくるので入力してrootで入る。
Apacheを入れる
# yum -y install httpd # systemctl start httpd.service # systemctl enable httpd.service
起動と自動起動設定もしておく。
ファイアウォール設定
ポート開放コマンド。
# firewall-cmd --zone=public --add-service=http --permanent # firewall-cmd --add-port=80/tcp --zone=public --permanent # firewall-cmd --reload
これでブラウザで見に行った際に拒否されない。
htmlファイル作成
# vi /var/www/html/index.html
< !-- /var/www/html/index.html -- >
Hello World
表示確認
ブラウザのアドレスバーにVPSのIPアドレスを打ち込みENTER。
Hello World表示が見えたら成功。
VagrantでCentOS7立ち上げてみる
筆者環境
OSX EICapitan
VirtualBoxをインストール
Vagrant by HashiCorp
ここから。
pkg開くときに検証中と出て進まないときは以下のコマンドで対応。
$ sudo installer -package /Volumes/VirtualBox/VirtualBox.pkg -target /
Vagrantインストール
Vagrant by HashiCorp
ここから。
同上の現象で進めなくなった場合は以下コマンド。
$ sudo installer -package /Volumes/Vagrant/Vagrant.pkg -target /
Box追加
Discover Vagrant Boxes - Vagrant Cloud
ここから好きな環境を選んで落としてくればいいっぽい(自己責任)。
CentOS7が欲しいのでこれをチョイス。
$ vagrant box add centos/7
エラー起きたら以下参照。
vagrant 1.8.7 でboxを追加しようとするとエラーになる時の対処法 - Qiita
ボックスはあくまでテンプレート。鋳型のようなもん(たぶん)。
続いてボックスを実体として立ち上げていく。
CentOS7 mysqlがインストールできない
$ sudo yum install mysql-server 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.riken.jp * extras: ftp.iij.ad.jp * updates: centosk3.centos.org パッケージ mysql-server は利用できません。 エラー: 何もしません
エラーの原因は正確にはわからないが、デフォルトで入ってるmariaDBと競合する場合があるという記事を発見。
下記の通りに実施したら無事インストールできた。
$ sudo yum remove mariadb-libs $ sudo rm -rf /var/lib/mysql/ $ sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm $ sudo yum -y install mysql-community-server $ mysqld --version mysqld Ver 5.7.19 for Linux on x86_64 (MySQL Community Server (GPL))
ドットインストールの「さくらのVPS入門」の手順通りに進めたらハマったのでメモ
CentOSのcronで定期作業を自動で行わせる
環境
さくらのVPS CentOS6
動機
railsアプリケーションを作ってて自動メンテに挑戦してみたいと思ったため。
毎度ながら素人の自分でもできる超簡単な方法を採ったので、たぶんもっとセキュアでいい方法はあると思う。
やったこと
Webアプリ側
自作のチャットアプリで1分毎に「test」と自動投稿させてみる。
rails側でこういうアクションを書く。
def create_test_comment Comment.create(content: 'test') end
ルーティングでアプリURL/testにアクセスすれば上のアクションが実行されるよう設定。
CentOS側
$ crontab -u [ユーザ名] -e
エディタが起動されるので、
*/1 * * * * curl http://example.com/test
と入力して保存。
あとは自動実行をわくわくして見守る。
うまくいってることを確認。
同じ要領で「テーブルのレコードが◯件を超えた分を削除」とか定期実行させられそう。
Bootstrapサイトをスマホ対応させる
勝手にいい感じにレスポンシブデザインにしてくれるという触れ込みのBootstrap。
でもなぜかスマホでPCレイアウト表示される時。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
headタグの中にこいつを入れる。