読者です 読者をやめる 読者になる 読者になる

tkm_71のブログ

自分のための備考録みたいなものです。

好きなバンドのラストライブまでのカウントダウン

好きなバンドのラストライブまでのカウントダウンを表示するだけのサイトです。

Galileo Galilei CD's History

今回はこちらのカウントダウンを導入させてもらいました。

好きなバンドの年表をJSとFuelPHPで作ってみた

今回は、自分の好きなバンドであるGalileo Galileiガリレオガリレイ)というバンドの、
CDリリースを時系列順に確認できる年表を作ってみた。

作ったものは以下から見れますので是非!!

Galileo Galilei CD's History


今回、FuelPHPで作ったと書きましたが、FuelPHP勉強中でプロジェクトがあったので、
そこでポンと置いただけですw

特にFuelらしい機能などは全く使ってない…
というかモデル作成すらしていないっす…

ちなみに、今回使わせてもらったタイムラインを簡単に表現できるJSプラグインはこれ。
Dark Responsive Timeline with Bootstrap

そんで、タイムライン化するJSプラグインはここで色々紹介されているので、
場合に応じて良い感じのと、自分好みのやつを選ぶと良さそう

年表やSNSのデザインの参考に!タイムラインのサンプル10例 | 株式会社LIG


本当はconohaのVPSapacheとか色々突っ込んだ話しを記事にしようと思っていたのですが、
すっかりメモとるの忘れてたので今回はなしにしちゃいました。

emacs package-listにphp-modeを出すようにする

以下を、.emacs.emacs/init.elに追記するだけで、次回からpackage-list-packagesを出すと、
その中にphp-modeが出てくる。
出てきたら、あとはiで選択して、xでインストールを実行

以下を追記
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

MacのApacheでドキュメント以下にindex.phpを設置

Mac

Apacheで任意の場所に作業フォルダを設置したい。

index.htmlやindex.phpをDocument以下の任意のフォルダにおいて作業したい時。
Macには元からApacheが入っていた気がした。

環境

作業フォルダを任意の場所に変更する

「/etc/apache2/httpd.conf」で以下の二箇所を変更する。
今回は、"/Library/WebServer/Documents" → ”/Users/takuma/Documents/study”
に変更してみます。

$ sudo emacs /etc/apache2/httpd.conf

//以下の変更。
237: DocumentRoot "/Users/takuma/Documents/study"
239: <Directory "/Users/takuma/Documents/study">

これでlocalhostにアクセスしたらいけると思ったけど、エラーがでる場合がある。

Forbiddenエラー

「You don't have permission to access / on this server.」
てな感じのエラーが出たので、以下で対応

対処法

フォルダに対するアクセス権がないらしいので、以下でパーミッションを変更。

$ chmod 701 ~/Documents

PHPを利用できるように

再度httpd.confを編集。

$ sudo emacs /etc/apache2/httpd.conf

//以下のコメントを外す。
169: LoadModule php5_module libexec/apache2/libphp5.so

VirtualBoxにFuelPHPを入れてみる

備考録なので適当です…

FuelPHPの導入

$yum install curl git
$curl get.fuelphp.com/oil | sh

任意のフォルダにプロジェクト作成

$oil create project_name

エラーがでた

Error - date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in COREPATH/classes/fuel.php on line 162
$ emacs /etc/php.ini 
date.timezone = 'Asia/Tokyo' //ここを変更
php oil -v
Fuel: 1.8 running in "development" mode

アクセスの確認

http:///project_name/public/index.php/welcome

またエラー

Fuel\Core\PhpErrorException [ Error ]:
date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead
$emacs fuel/app/config/config.php

'default_timezone'   => 'Asia/Tokyo', //96行目あたり

index.phpを消す方法

以下コメントを削除

   29         # Remove index.php from URL
   30         RewriteCond %{HTTP:X-Requested-With}    !^XMLHttpRequest$
   31         RewriteCond %{THE_REQUEST}                              ^[^/]*/index\.php [NC]
   32         RewriteRule ^index\.php(.*)$                    $1 [R=301,NS,L]

Mac Virtual Boxで「Kernel driver not installed(rc=-1908)」となった時の解決法

一瞬で解決したのは以下の方法。

環境

  • Mac (OS X El Capitan 10.11.4)
  • Virtual Box (version 4.20)

解決法

参考[1]の記事の通りにやりました。

Mac に再度Virtual Boxを上書きインストール

Downloads – Oracle VM VirtualBoxのサイトにアクセスし、
Virtual Boxをもう一度ダウンロードして、インストール。

この時の最新版は以下のように、Virtual Box 5.0.20だったのでそれをインストール。
VirtualBox 5.0.20 for OS X hosts amd64

これで再度Virtual Boxを起動したらエラーはでませんでした。

Mac(El Captitan) にPython3系を入れてみた

今回はMacに、Python3系を入れようとしたので、その備考録。
Macには元々、Python2.7が入っていたけど、それも共存させながら切り替えて使用できるっぽいので、それを試してみました。

環境

  • Mac (OS X El Capitan 10.11.4)
  • HomeBrewが使える

pyenvの導入

pythonのバージョンを管理するために導入する。
HomeBrewで一発。

$ brew install pyenv

Macにパスを設定

参考[1]より丸っとコピペさせてもらいました。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Pythonのインストール

今回は「Python 3.5.0a4」を入れてみようかと。

$ pyenv install --list        //とりあえず何があるか確認する
$ pyenv install 3.5.0a4

ここでエラー

以下のようなエラーが出た。

Downloading Python-3.5.0a4.tgz...
-> https://www.python.org/ftp/python/3.5.0/Python-3.5.0a4.tgz
Installing Python-3.5.0a4...
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems


BUILD FAILED (OS X 10.11.4 using python-build 20141028)

Inspect or clean up the working tree at /var/folders/89/bc34h7h57g993dw_17pryfb00000gn/T/python-build.20160504030211.19754
Results logged to /var/folders/89/bc34h7h57g993dw_17pryfb00000gn/T/python-build.20160504030211.19754.log

Last 10 log lines:
(cd /Users/takuma/.pyenv/versions/3.5.0a4/share/man/man1; ln -s python3.5.1 python3.1)
if test "xupgrade" != "xno"  ; then \
		case upgrade in \
			upgrade) ensurepip="--upgrade" ;; \
			install|*) ensurepip="" ;; \
		esac; \
		 ./python.exe -E -m ensurepip \
			$ensurepip --root=/ ; \
	fi
Ignoring ensurepip failure: pip 6.1.1 requires SSL/TLS

解決法を検索

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?」でググッて、以下を実行

$ xcode-select --install

CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install -v 3.5.0a4

CFLAGS=-I/usr/include/openssl \
LDFLAGS=-L/usr/lib64 \
pyenv install -v 3.5.0a4

効果なし…
以上のことをやってみても、エラーは解消しなかった。

今回の解決法

今回は以下の方法で、無事にPython 3.5.1を入れることができました。

pyenvのアップデート

pyenvのバージョンを調べてみたところ「pyenv-20150404」が私のには入っているようでした。
しょうがないので、最新版を入れてみることに。

brewのアップデート

pyenvのバージョンを最新にするために、brewをアップデートしてみた。
方法は以下。

$ brew update

但し、ここで以下のようなエラーが出てしまった場合は

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mach (LoadError)
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Library/Homebrew/global.rb:3:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/Library/brew.rb:15:in `<main>'

たぶん、このままではbrewコマンドが一切使えない気がするので、以下を実行。

//一旦brewのディレクトリを元に戻す
$ cd /usr/local
$ git reset --hard && git clean -df

$ sudo chown -R $(whoami):admin /usr/local
brew update

これでbrewが最新にアップデートできた。

$ brew --version
Homebrew 0.9.9 (git revision f653c; last commit 2016-05-04)

このあと、pyenvを最新にするために以下を。

$ brew install pyenv
Error: pyenv-20150404 already installed
To install this version, first `brew unlink pyenv`

$ brew unlink pyenv
Unlinking /usr/local/Cellar/pyenv/20150404... 5 symlinks removed

$brew install pyenv

これでpyenvが最新になった。

$ pyenv --version
pyenv 20160422

あとはこの状態で下を実行すると、「pyenv-20150404」ではでてこなかった、「python 3.5.1」が出てきた。

//インストールできるリストを確認
$ pyenv install --list

//インストールしてみる
$ pyenv install 3.5.1

以上でpython3.5.1を入れることができました。




Pythonを3.5.1に切り替える

インストールだけでは以下のようになっている.

$ pyenv versions
* system (set by /Users/takuma/.pyenv/version)
  3.5.1

Python3系に切り替えてみる。

$ pyenv global 3.5.1
$ pyenv rehash

確認。

$ pyenv versions
  system
* 3.5.1 (set by /Users/takuma/.pyenv/version)

$ python --version
Python 3.5.1

長くなったけど、これでPython3.5.1のインストールができて使用できる状態になりました。