Laravel을 사쿠라의 렌탈 서버로 움직여 보았다 [환경 구축]
소개
안녕하세요 mako 입니다.
Laravel을 사쿠라의 렌탈 서버로 외부에 공개한 방법을 간단하게 소개합니다!!
언제나 로컬 환경(MAMP)에서 움직이고 있어 외부에 공개할 때에 데이터베이스의 설정에 넘어졌으므로, 거기에 대해서도 소개해 갑니다.
계층 목록
home/
├ bin/
│ └ composer
├ www/
│ └ {'projectname'}/
│ └ config/
│ └ database.php
│ └ public/
│ └ など...
│ └ .env
└ など...
사쿠라에서 하위 도메인 만들기
사쿠라 렌탈 서버에 새 도메인을 추가합니다.
원하는 도메인 이름과 폴더의 계층 경로를 설정합니다.
도메인 이름
좋아하는 도메인 결정
경로
지정 폴더의 개소에 「/home/{'계정명'}/www/{'프로젝트 루트'}/public」로 설정한다
ssh 연결 및 laravel 설정
절차
1. ssh 연결
2. composer 설치
3. 프로젝트를 clone
4. .htaccess 설정
5. 데이터베이스 설정
6. 애플리케이션 키 생성
7. 마이그레이션
①ssh 연결
먼저 ssh 클라이언트로 대여 서버에 로그인합니다.
ssh (username)@(hostname).sakura.ne.jp
password : 'password'
②composer 설치
라이브러리 종속성을 해결하기 위해 넣어.
이번에는 「home/bin」에 composer를 인스톨 한다.
mkdir bin
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin --filename=composer
composer self-update
③ 프로젝트를 clone
이번은 www폴더의 부하에 직접 배치합니다만, 시큐리티등의 관계상 심볼릭 링크를 만들어 다른 곳에 배치하는 것이 좋다고 합니다.
개인적으로 github에서 clone하는 것이 쉽다고 생각합니다.
cd ~/www/
git clone 'repository'
% composer install
% composer dump-autoload --optimize
④.htaccess 설정
"{'project_root'}/public/.htaccess"를 설정해야 한다.
참고 사이트: htps : // 코데지네. jp / arc c / / 싶은 l / 11370
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
+ RewriteBase /
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
⑤ 데이터베이스 설정
Laravel의 home 디렉토리에 있는 ".env"를 편집합니다.
cd ~/{'projectname'}
vi .env
".env"의 다음 위치 변경
DB_CONNECTION=mysql
DB_HOST=dbhost.db.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbysername
DB_PASSWORD=dbpassword
⑥ 어플리케이션 키 생성
APP_KEY가 디폴트치인 채이므로 변경한다.
php artisan key:generate
⑦ 마이그레이션하기
php artisan migrate
여기서 에러를 하지 않았기 때문에 사쿠라의 MySQL 쪽에 데이터베이스가 정상적으로 작성되고 있을 것입니다.
삼나무도 여기에서 할 수 있습니다.
마이그레이션이 잘되지 않았다 (필자의 경우)
데이터베이스를 찾을 수 없으면 오류가 발생했습니다.
In Connection.php line 664:
SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = database and table_name = migrations)
데이터베이스의 호스트명, 유저명, 데이타베이스명, 패스워드 몇번이나 확인해도 틀리지 않고 조사해 버리면 아무래도 「database.php」의 것이 영향을 주는 것을 알았다.
그래서 조사한 후 수정하면 마이그레이션을 실행할 수 있었다.
원인으로 ''unix_socket''이 아무래도 다른 것 같다.
사쿠라 쪽으로 데이타베이스에 로그인해 소켓 조사했다고 해서 입력했을 것이다. . .
(※수정 부분 「'unix_socket'」 부분을 공란으로 하면 할 수 있었다.)
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'dbname'),
'username' => env('DB_USERNAME', 'dbysername'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
요약
사쿠라의 렌탈 서버로 작성한 Laravel을 외부에 공개할 수 있었다.
렌탈 서버의 구조나 vim의 사용법 등 공부가 되어 좋은 경험이 되었다.
이번에 넘어진 원인으로서 아직 제대로 Laravel과 MySQL의 접속의 구조를 이해하지 않았기 때문에 제대로 공부해 나가려고 생각합니다.
「.env」 「config/database.php」에 대해 참고가 된 사이트
여기 데이터베이스 환경 설정
Reference
이 문제에 관하여(Laravel을 사쿠라의 렌탈 서버로 움직여 보았다 [환경 구축]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mako5656/items/98eccddf66a6618c32e2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
home/
├ bin/
│ └ composer
├ www/
│ └ {'projectname'}/
│ └ config/
│ └ database.php
│ └ public/
│ └ など...
│ └ .env
└ など...
사쿠라에서 하위 도메인 만들기
사쿠라 렌탈 서버에 새 도메인을 추가합니다.
원하는 도메인 이름과 폴더의 계층 경로를 설정합니다.
도메인 이름
좋아하는 도메인 결정
경로
지정 폴더의 개소에 「/home/{'계정명'}/www/{'프로젝트 루트'}/public」로 설정한다
ssh 연결 및 laravel 설정
절차
1. ssh 연결
2. composer 설치
3. 프로젝트를 clone
4. .htaccess 설정
5. 데이터베이스 설정
6. 애플리케이션 키 생성
7. 마이그레이션
①ssh 연결
먼저 ssh 클라이언트로 대여 서버에 로그인합니다.
ssh (username)@(hostname).sakura.ne.jp
password : 'password'
②composer 설치
라이브러리 종속성을 해결하기 위해 넣어.
이번에는 「home/bin」에 composer를 인스톨 한다.
mkdir bin
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin --filename=composer
composer self-update
③ 프로젝트를 clone
이번은 www폴더의 부하에 직접 배치합니다만, 시큐리티등의 관계상 심볼릭 링크를 만들어 다른 곳에 배치하는 것이 좋다고 합니다.
개인적으로 github에서 clone하는 것이 쉽다고 생각합니다.
cd ~/www/
git clone 'repository'
% composer install
% composer dump-autoload --optimize
④.htaccess 설정
"{'project_root'}/public/.htaccess"를 설정해야 한다.
참고 사이트: htps : // 코데지네. jp / arc c / / 싶은 l / 11370
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
+ RewriteBase /
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
⑤ 데이터베이스 설정
Laravel의 home 디렉토리에 있는 ".env"를 편집합니다.
cd ~/{'projectname'}
vi .env
".env"의 다음 위치 변경
DB_CONNECTION=mysql
DB_HOST=dbhost.db.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbysername
DB_PASSWORD=dbpassword
⑥ 어플리케이션 키 생성
APP_KEY가 디폴트치인 채이므로 변경한다.
php artisan key:generate
⑦ 마이그레이션하기
php artisan migrate
여기서 에러를 하지 않았기 때문에 사쿠라의 MySQL 쪽에 데이터베이스가 정상적으로 작성되고 있을 것입니다.
삼나무도 여기에서 할 수 있습니다.
마이그레이션이 잘되지 않았다 (필자의 경우)
데이터베이스를 찾을 수 없으면 오류가 발생했습니다.
In Connection.php line 664:
SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = database and table_name = migrations)
데이터베이스의 호스트명, 유저명, 데이타베이스명, 패스워드 몇번이나 확인해도 틀리지 않고 조사해 버리면 아무래도 「database.php」의 것이 영향을 주는 것을 알았다.
그래서 조사한 후 수정하면 마이그레이션을 실행할 수 있었다.
원인으로 ''unix_socket''이 아무래도 다른 것 같다.
사쿠라 쪽으로 데이타베이스에 로그인해 소켓 조사했다고 해서 입력했을 것이다. . .
(※수정 부분 「'unix_socket'」 부분을 공란으로 하면 할 수 있었다.)
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'dbname'),
'username' => env('DB_USERNAME', 'dbysername'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
요약
사쿠라의 렌탈 서버로 작성한 Laravel을 외부에 공개할 수 있었다.
렌탈 서버의 구조나 vim의 사용법 등 공부가 되어 좋은 경험이 되었다.
이번에 넘어진 원인으로서 아직 제대로 Laravel과 MySQL의 접속의 구조를 이해하지 않았기 때문에 제대로 공부해 나가려고 생각합니다.
「.env」 「config/database.php」에 대해 참고가 된 사이트
여기 데이터베이스 환경 설정
Reference
이 문제에 관하여(Laravel을 사쿠라의 렌탈 서버로 움직여 보았다 [환경 구축]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mako5656/items/98eccddf66a6618c32e2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
절차
1. ssh 연결
2. composer 설치
3. 프로젝트를 clone
4. .htaccess 설정
5. 데이터베이스 설정
6. 애플리케이션 키 생성
7. 마이그레이션
①ssh 연결
먼저 ssh 클라이언트로 대여 서버에 로그인합니다.
ssh (username)@(hostname).sakura.ne.jp
password : 'password'
②composer 설치
라이브러리 종속성을 해결하기 위해 넣어.
이번에는 「home/bin」에 composer를 인스톨 한다.
mkdir bin
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin --filename=composer
composer self-update
③ 프로젝트를 clone
이번은 www폴더의 부하에 직접 배치합니다만, 시큐리티등의 관계상 심볼릭 링크를 만들어 다른 곳에 배치하는 것이 좋다고 합니다.
개인적으로 github에서 clone하는 것이 쉽다고 생각합니다.
cd ~/www/
git clone 'repository'
% composer install
% composer dump-autoload --optimize
④.htaccess 설정
"{'project_root'}/public/.htaccess"를 설정해야 한다.
참고 사이트: htps : // 코데지네. jp / arc c / / 싶은 l / 11370
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
+ RewriteBase /
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
⑤ 데이터베이스 설정
Laravel의 home 디렉토리에 있는 ".env"를 편집합니다.
cd ~/{'projectname'}
vi .env
".env"의 다음 위치 변경
DB_CONNECTION=mysql
DB_HOST=dbhost.db.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbysername
DB_PASSWORD=dbpassword
⑥ 어플리케이션 키 생성
APP_KEY가 디폴트치인 채이므로 변경한다.
php artisan key:generate
⑦ 마이그레이션하기
php artisan migrate
여기서 에러를 하지 않았기 때문에 사쿠라의 MySQL 쪽에 데이터베이스가 정상적으로 작성되고 있을 것입니다.
삼나무도 여기에서 할 수 있습니다.
마이그레이션이 잘되지 않았다 (필자의 경우)
데이터베이스를 찾을 수 없으면 오류가 발생했습니다.
In Connection.php line 664:
SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = database and table_name = migrations)
데이터베이스의 호스트명, 유저명, 데이타베이스명, 패스워드 몇번이나 확인해도 틀리지 않고 조사해 버리면 아무래도 「database.php」의 것이 영향을 주는 것을 알았다.
그래서 조사한 후 수정하면 마이그레이션을 실행할 수 있었다.
원인으로 ''unix_socket''이 아무래도 다른 것 같다.
사쿠라 쪽으로 데이타베이스에 로그인해 소켓 조사했다고 해서 입력했을 것이다. . .
(※수정 부분 「'unix_socket'」 부분을 공란으로 하면 할 수 있었다.)
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'dbname'),
'username' => env('DB_USERNAME', 'dbysername'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
요약
사쿠라의 렌탈 서버로 작성한 Laravel을 외부에 공개할 수 있었다.
렌탈 서버의 구조나 vim의 사용법 등 공부가 되어 좋은 경험이 되었다.
이번에 넘어진 원인으로서 아직 제대로 Laravel과 MySQL의 접속의 구조를 이해하지 않았기 때문에 제대로 공부해 나가려고 생각합니다.
「.env」 「config/database.php」에 대해 참고가 된 사이트
여기 데이터베이스 환경 설정
Reference
이 문제에 관하여(Laravel을 사쿠라의 렌탈 서버로 움직여 보았다 [환경 구축]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mako5656/items/98eccddf66a6618c32e2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Laravel을 사쿠라의 렌탈 서버로 움직여 보았다 [환경 구축]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mako5656/items/98eccddf66a6618c32e2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)