<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>インストール  |  takeHo（たけほ）のへなちょこ台帳</title>
	<atom:link href="https://blog.takeho.com/tag/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.takeho.com</link>
	<description>いわゆる自由帳ってところです。</description>
	<lastBuildDate>Tue, 09 Dec 2025 01:24:12 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6</generator>

<image>
	<url>https://blog.takeho.com/wp-content/uploads/2024/08/icon-150x150.png</url>
	<title>インストール  |  takeHo（たけほ）のへなちょこ台帳</title>
	<link>https://blog.takeho.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>CodeIgniter3の環境を整える</title>
		<link>https://blog.takeho.com/qqohbx58gvay17fg1915s5b5z137q331/</link>
					<comments>https://blog.takeho.com/qqohbx58gvay17fg1915s5b5z137q331/#respond</comments>
		
		<dc:creator><![CDATA[たけほ]]></dc:creator>
		<pubDate>Sun, 01 Sep 2024 04:11:00 +0000</pubDate>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Composer]]></category>
		<category><![CDATA[インストール]]></category>
		<guid isPermaLink="false">https://blog.takeho.com/?p=304</guid>

					<description><![CDATA[CodeIgniter3は、4に比べcomposerやミドルウェア、名前空間に対応しておりませんが軽量で扱いやすく少ないリソースで高速に動作するフレームワークとして現在も人気があります。 ここではLinux環境へCode [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>CodeIgniter3は、4に比べcomposerやミドルウェア、名前空間に対応しておりませんが軽量で扱いやすく少ないリソースで高速に動作するフレームワークとして現在も人気があります。</p>



<p>ここではLinux環境へCodeIgniter3のフレームワークをセットアップする方法について説明します。</p>



<div class="wp-block-cocoon-blocks-caption-box-1 caption-box block-box not-nested-style cocoon-block-caption-box"><div class="caption-box-label block-box-label box-label"><span class="caption-box-label-text block-box-label-text box-label-text">補足</span></div><div class="caption-box-content block-box-content box-content">
<p>既にウェブサーバ・MｙSQLサーバのインストールやドキュメントルートが設定済である事を前提とします。</p>
</div></div>



<p>またドキュメントルートは</p>



<pre class="wp-block-code"><code>/var/www/html/codeigniter3/public</code></pre>



<p>とし、ホスト名はwww.example.comとします。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">フレームワークの取得・設置</a></li><li><a href="#toc2" tabindex="0">ファイル構造の変更</a><ol><li><a href="#toc3" tabindex="0">ディレクトリの作成・ファイルの移動</a></li><li><a href="#toc4" tabindex="0">ディレクトリ設定の変更</a></li></ol></li><li><a href="#toc5" tabindex="0">設定ファイルの変更</a></li><li><a href="#toc6" tabindex="0">データベースの設定</a></li><li><a href="#toc7" tabindex="0">綺麗なURLにする</a></li><li><a href="#toc8" tabindex="0">ライブラリ・ヘルパーの自動読み込み</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">フレームワークの取得・設置</span></h2>



<p>サーバへターミナル等でログイン後、次のコマンドでディレクトリ移動します。</p>



<pre class="wp-block-code"><code># cd /var/www/html/</code></pre>



<p>　次のダウンロードサイトからCodeIgniter v3.2.0-dev (Current version)のリンクURLを取得します。</p>





<a rel="noopener" href="https://codeigniter.jp/user_guide/3/installation/downloads.html" title="CodeIgniter &#12398;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489; &mdash; CodeIgniter 3.2.0-dev &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fcodeigniter.jp%2Fuser_guide%2F3%2Finstallation%2Fdownloads.html?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">CodeIgniter &#12398;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489; &mdash; CodeIgniter 3.2.0-dev &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://codeigniter.jp/user_guide/3/installation/downloads.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">codeigniter.jp</div></div></div></div></a>




<p>次のようにURLを指定してコマンドを実行します。</p>



<pre class="wp-block-code"><code># wget https://codeload.github.com/bcit-ci/CodeIgniter/zip/develop</code></pre>



<p>コマンド実行後developというファイルが取得されますが、このファイル名では何のファイルが不明なので次のように名前変更します。</p>



<pre class="wp-block-code"><code># mv develop develop.zip</code></pre>



<p>次にこのファイルを解凍します。</p>



<pre class="wp-block-code"><code># unzip develop.zip</code></pre>



<p>解凍後、<strong>CodeIgniter-develop</strong>のファイルの存在が確認できますが更に次のコマンドで名前変更します。</p>



<pre class="wp-block-code"><code># mv CodeIgniter-develop codeigniter3</code></pre>



<h2 class="wp-block-heading"><span id="toc2">ファイル構造の変更</span></h2>



<p>Codeigniter3内のファイル構造は次の通りです。</p>



<pre class="wp-block-preformatted">/var/www/html<br>└ codeigniter3<br>　├application(ディレクトリ)<br>　├build-release.sh<br>　├composer.json<br>　├contributing.md<br>　├DCO.txt<br>　├.editorconfig<br>　├.github(ディレクトリ)<br>　├.gitignore<br>　├index.php<br>　├license.txt<br>　├readme.rst<br>　├system(ディレクトリ)<br>　└tests(ディレクトリ)</pre>



<p>上記構造のうちドキュメントルートに設置する予定のindex.phpを起点とするとsystemディレクトリとapplicationディレクトリは公開する必要のないディレクトリになりキー情報やこの後設定するデータベースの接続情報など、外部に漏れてはいけない状況がドキュメントルート配下に配置環境の為、セキュアではありません。</p>



<p>尚、systemディレクトリやapplicationディレクトリ内のファイルは全て</p>



<pre class="wp-block-code"><code>&lt;?php
defined('BASEPATH') OR exit('No direct script access allowed');</code></pre>



<p>のように定数によるアクセス制限を掛けている為、直接アクセスする事はできない意味では安全ですが、これはPHPが正常に動作した場合に限り安全というには根本的な対策にはなっていません。</p>



<p>この対策としてsystemディレクトリとapplicationディレクトリをドキュメントルート配下でなない上位ディレクトリへ設置するように変更します。</p>



<h3 class="wp-block-heading"><span id="toc3">ディレクトリの作成・ファイルの移動</span></h3>



<pre class="wp-block-code"><code># mkdir public</code></pre>



<p><strong>public</strong>ディレクトリを作成します。</p>



<pre class="wp-block-code"><code>mv index.php ./public/</code></pre>



<p><strong>index.php</strong>を<strong>public</strong>ディレクトリ内へ移動します。</p>



<h3 class="wp-block-heading"><span id="toc4">ディレクトリ設定の変更</span></h3>



<p><strong>index.php</strong>を次のように変更します。</p>



<pre class="wp-block-code"><code>        // 93行目付近
	$system_path = '../system'; 

        // 110行目付近
	$application_folder = '../application';</code></pre>



<p>上記の更新にてドキュメントルート配下からその上位ディレクトリへの変更が完了となります。</p>



<h2 class="wp-block-heading"><span id="toc5">設定ファイルの変更</span></h2>



<p>ホスト名の指定など次のファイルを編集します。</p>



<pre class="wp-block-code"><code>application/config/config.php</code></pre>



<p>設定内容は次のようにキー名と値の構成になります。</p>



<pre class="wp-block-code"><code>$config&#91;キー名] = '値’</code></pre>



<p>次の表は初期設定の際に必要となる主要な設定情報の一覧になります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>キー名</td><td>内容</td><td>設定値・例</td><td>説明</td></tr><tr><td>base_url</td><td>ベースURL</td><td>http://www.example.com/</td><td>インデックス名を省いたアクセスURLを記載します。</td></tr><tr><td>index_page</td><td>インデックス名</td><td>index.php<br>※表記させない場合は値は指定しない</td><td>インデックスページへのアクセス名（ベースURLは除く）</td></tr><tr><td>url_suffix</td><td>サフィックス</td><td>.html</td><td>URLの最後に付加する固定文字列</td></tr><tr><td>language</td><td>言語</td><td>japanese</td><td>言語名を指定</td></tr><tr><td>charset</td><td>文字コード</td><td>utf-8</td><td>出力するリソースの文字コード</td></tr><tr><td>composer_autoload</td><td>リソースのオートロード</td><td>TRUE / FALSE</td><td>composerパッケージの自動用読み込み</td></tr><tr><td>log_threshold</td><td>ログ出力設定</td><td>1～４</td><td>0：ロギングを無効にする、エラーロギングをオフにする<br>1：エラーメッセージ(PHPエラーを含む)<br>2：デバッグメッセージ<br>3：情報メッセージ<br>4：すべてのメッセージ</td></tr><tr><td>encryption_key</td><td>暗号キー</td><td>一意なる複雑な文字列</td><td>セッションやセキュリティクラスで使用する暗号・複合で使用するキー</td></tr><tr><td>sess_driver</td><td>セッションドライバ</td><td>files / database / redis / memcached</td><td>セッションの保存方法</td></tr><tr><td>csrf_protection</td><td>CSRF 保護</td><td>TRUE / FALSE</td><td>CSRFの脆弱性対策機能の有効・無効</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc6">データベースの設定</span></h2>



<p>以下のファイルを編集しデータベース<strong>MySQL</strong>の接続情報を設定します。</p>



<pre class="wp-block-code"><code>application/config/database.php</code></pre>



<pre class="wp-block-code"><code>$db&#91;'default'] = array(
	'dsn'	=> '',
	'hostname' => 'ホスト名',
	'username' => 'DBユーザー名',
	'password' => 'パスワード',
	'database' => 'データ',
	'dbdriver' => 'mysqli',
	'dbprefix' => '',
	'pconnect' => FALSE,
	'db_debug' => (ENVIRONMENT !== 'production'),
	'cache_on' => FALSE,
	'cachedir' => '',
	'char_set' => 'utf8',
	'dbcollat' => 'utf8_general_ci',
	'swap_pre' => '',
	'encrypt' => FALSE,
	'compress' => FALSE,
	'stricton' => FALSE,
	'failover' => array(),
	'save_queries' => TRUE
);</code></pre>



<h2 class="wp-block-heading"><span id="toc7">綺麗なURLにする</span></h2>



<p>例えば複数の会員情報の一覧から特定の会員IDが5番のプロフィール詳細ページは一般的に次のようになります。</p>



<pre class="wp-block-code"><code>http:&#47;&#47;www.example.com/index.php/profile/view/id/5</code></pre>



<p>上記URLでは<strong>index.php</strong>のインデックスファイルの後にパラメータがスラッシュ区切りで構成される為、綺麗ではないので<strong>index.php</strong>を削除して綺麗にURLにする為、次のファイルを作成・編集します。</p>



<pre class="wp-block-code"><code>public/.htaccess</code></pre>



<pre class="wp-block-code"><code>RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 &#91;L]</code></pre>



<h2 class="wp-block-heading"><span id="toc8">ライブラリ・ヘルパーの自動読み込み</span></h2>



<p>常に使用するライブラリや頻繁に使用するヘルパーなどは自動読み込み設定する事でコントローラー内で都度読み込み宣言を記載する手間を省く事ができます。</p>



<p>次のファイルを編集します。</p>



<pre class="wp-block-code"><code>application/config/autoload.php</code></pre>



<pre class="wp-block-code"><code>// ライブラリ自動読み込み
$autoload&#91;'libraries'] = &#91;
  'database',
  'session',
];

// ヘルパー自動読み込み
$autoload&#91;'helper'] = &#91;
  'url',
  'form',
];</code></pre>



<p>これで環境の用意はひとまず完了です。</p>



<p>これ以外に必要な情報は別途ドキュメントを参照して編集してください。</p>





<a rel="noopener" href="https://codeigniter.jp/user_guide/3" title="CodeIgniter &#12518;&#12540;&#12470;&#12460;&#12452;&#12489; &mdash; CodeIgniter 3.2.0-dev &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fcodeigniter.jp%2Fuser_guide%2F3?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">CodeIgniter &#12518;&#12540;&#12470;&#12460;&#12452;&#12489; &mdash; CodeIgniter 3.2.0-dev &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://codeigniter.jp/user_guide/3" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">codeigniter.jp</div></div></div></div></a>

]]></content:encoded>
					
					<wfw:commentRss>https://blog.takeho.com/qqohbx58gvay17fg1915s5b5z137q331/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
