CentOS6.7でApache+FuelPHP+MongoDB環境を構築したメモ
結構つまづくところがあったので、備忘録的にメモします。
各種モジュールインストール
$sudo yum install gcc -y
$sudo yum install openssl-devel -y
※mongoのphpモジュールを入れるときコンパイルするので必要になります。
mongodbのリポジトリ追加
$sudo vi /etc/yum.repos.d/mongodb.repo
**以下を入力**
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
mongodbインストール
$sudo yum install -y mongodb-org
$sudo service mongod start
$sudo chkconfig mongod on
apacheインストール
$sudo yum install httpd -y
phpインストール
$sudo yum install php php-pear php-devel php-pdo php-dom php-mbstring -y
mongoPHPライブラリインストール
$sudo pecl install mongo
※ここでつまづきやすい。gccとopenssl-develをちゃんと入れる。何か聞かれてもデフォルトでOK
php.ini設定
$sudo vi /etc/php.ini
**以下を入力or変更**
extension=mongo.so
[中略]
date.timezone= Asia/Tokyo
[中略]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
apache vhosts設定
$sudo vi /etc/httpd/conf.d/vhosts.conf
**以下を入力**
<VirtualHost *:80>
DocumentRoot /var/www/html/fuelphp/public
ErrorLog logs/fuelphp_error.log
CustomLog logs/fuelphp_access.log combined
SetEnv FUEL_ENV development
<Directory /var/www/html/fuelphp/public>
DirectoryIndex index.php
AllOwoverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
※「SetEnv FUEL_ENV」の所は環境ごとにわける。development,production等。公式のドキュメント参照
Fuelphp設置
公式サイトからダウンロードし、展開。 フォルダ名を「fuelphp」に変更。 「fuelphp」フォルダを/var/www/html/下に設置 「public/.htaccess」の以下の行をコメントアウト
#Options +FollowSymLinks -Indexes
「fuel/app/config/config.php」の該当箇所を以下のように変更。
/**
* Localization & internationalization settings
*/
'language' => 'ja', // Default language
// 'language_fallback' => 'en', // Fallback language when file isn't available for default language
'locale' => 'ja_JP.UTF-8', // PHP set_locale() setting, null to not set
[中略]
/**
* DateTime settings
*
* server_gmt_offset in seconds the server offset from gmt timestamp when time() is used
* default_timezone optional, if you want to change the server's default timezone
*/
// 'server_gmt_offset' => 0,
'default_timezone' => 'Asia/Tokyo',
設置確認
http://localhost/
にアクセスして、welcome画面が表示されれば完了。
MapKitでMKMapViewを表示し、任意の場所にピンを立てる。
MapKitの使い方で少々苦労したのでメモ
まず、「Linked Frameworks and Libraries」というところに「MapKit.framework」を追加。
(xcodeの「Build Settings」などが選択できるページの「General」タブの下部にある)
MainViewController.m
#import <MapKit/MapKit.h> @interface MainViewController ()<MKMapViewDelegate> @property (storng, nonatomic)MKMapView *mapView @end @implementation MainViewController - (id)init { self = [super init]; if (self) { } return self; } -(void)viewDidLoad { //Map表示(画面いっぱい) //大きさを指定して初期化 self.mapView = [[MKMapView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; self.mapView.delegate = self; [self.view addSubview:self.mapView]; //緯度と経度を設定(これは東京タワー) double latitude = 35.65858; double longitude = 139.745433; //Mapの表示を指定 MKCoordinateRegion region = self.mapView.region; region.span.latitudeDelta = 0.05; //緯度の倍率 region.span.longitudeDelta = 0.05; //経度の倍率 region.center = CLLocationCoordinate2DMake(latitude, longitude); //表示位置の緯度と経度 [self.mapView setRegion:region animated:YES]; //Pin表示 MKPointAnnotation *annotation = [[MKPointAnnotation alloc]init]; annotation.coordinate = CLLocationCoordinate2DMake(latitude, longitude); //ピンをたてる位置を指定 [self.mapView addAnnotation:annotation]; } @end
MKMapViewを理解する上で大事なのが、
MKCoordinateRegionとMKPointAnnotation。
ほかのUIパーツのようにパーツそのもののプロパティに色々設定するのではなく、
mapviewはただ表示だけさせる。
regionというオブジェクトでどの位置に表示させて、倍率等をどうするか指定。
pinはannotationというオブジェクトで位置などを指定。
それぞれをmapviewにセットする。
絶対に挫折しない iPhoneアプリ開発「超」入門【iOS7対応】増補改訂版
- 作者: 高橋京介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/01/28
- メディア: 大型本
- この商品を含むブログを見る