{"id":831,"date":"2012-07-12T01:29:41","date_gmt":"2012-07-12T09:29:41","guid":{"rendered":"http:\/\/blog.portnumber53.com\/?p=831"},"modified":"2012-07-12T01:29:41","modified_gmt":"2012-07-12T09:29:41","slug":"kohana-core-adding-submodules-customization","status":"publish","type":"post","link":"https:\/\/blog.portnumber53.com\/index.php\/2012\/07\/12\/kohana-core-adding-submodules-customization\/","title":{"rendered":"Kohana: core, adding submodules, customization"},"content":{"rendered":"<p>After cloning the repository, let&#39;s add the Kohana core, a few modules and customize the installation:<\/p>\n<p>1.&nbsp;<\/p>\n<p><span style=\"color: rgb(51, 51, 51); font-family: 'Segoe UI', Arial, sans-serif; font-size: 15.555556297302246px; line-height: 24.44444465637207px; \">git submodule add git:\/\/github.com\/kohana\/core.git modules\/system<\/span><\/p>\n<p><span style=\"color: rgb(51, 51, 51); font-family: 'Segoe UI', Arial, sans-serif; font-size: 15.555556297302246px; line-height: 24.44444465637207px; \">git submodule add git:\/\/github.com\/kohana\/database.git modules\/database<\/span><\/p>\n<p><span style=\"color: rgb(51, 51, 51); font-family: 'Segoe UI', Arial, sans-serif; font-size: 15.555556297302246px; line-height: 24.44444465637207px; \">git submodule add git:\/\/github.com\/kohana\/cache.git modules\/cache<\/span><\/p>\n<p><span style=\"color: rgb(51, 51, 51); font-family: 'Segoe UI', Arial, sans-serif; font-size: 15.555556297302246px; line-height: 24.44444465637207px; \">git submodule add git:\/\/github.com\/kohana\/image.git modules\/image<\/span><\/p>\n<p><span style=\"color: rgb(51, 51, 51); font-family: 'Segoe UI', Arial, sans-serif; font-size: 15.555556297302246px; line-height: 24.44444465637207px; \">git submodule add git:\/\/github.com\/kohana\/pagination.git modules\/pagination<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>2. Initialize the modules<\/p>\n<p>&nbsp;<\/p>\n<p>$ git submodule init<\/p>\n<p>&nbsp;<\/p>\n<div>$ git commit -m &#39;Added core kohana and initial submodules [cache,database,image,pagination]&#39;<\/div>\n<div>[master 1d5462d] Added core kohana and initial submodules [cache,database,image,pagination]<\/div>\n<div>&nbsp;6 files changed, 20 insertions(+)<\/div>\n<div>&nbsp;create mode 100644 .gitmodules<\/div>\n<div>&nbsp;create mode 160000 modules\/cache<\/div>\n<div>&nbsp;create mode 160000 modules\/database<\/div>\n<div>&nbsp;create mode 160000 modules\/image<\/div>\n<div>&nbsp;create mode 160000 modules\/pagination<\/div>\n<div>&nbsp;create mode 160000 modules\/system<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>3. Push these changes<\/div>\n<div>\n<div>$ git pull origin master<\/div>\n<div>From mt:~\/domains\/git.portnumber53.com\/html\/menospior.com<\/div>\n<div>&nbsp;* branch &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;master &nbsp; &nbsp; -&gt; FETCH_HEAD<\/div>\n<div>Already up-to-date.<\/div>\n<div>&nbsp;<\/div>\n<div>\n<div>$ git push origin master<\/div>\n<div>Counting objects: 5, done.<\/div>\n<div>Delta compression using up to 2 threads.<\/div>\n<div>Compressing objects: 100% (4\/4), done.<\/div>\n<div>Writing objects: 100% (4\/4), 663 bytes, done.<\/div>\n<div>Total 4 (delta 0), reused 0 (delta 0)<\/div>\n<div>To mt:~\/domains\/git.portnumber53.com\/html\/menospior.com.git<\/div>\n<div>&nbsp; &nbsp;8bce6b1..1d5462d &nbsp;master -&gt; master<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>We need some more files:<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/p><\/div>\n<\/div>\n<div>$ mkdir html<\/div>\n<div>\n<div>\n<div>$ wget https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/index.php -O html\/index.php<\/div>\n<div>&#8211;2012-07-12 00:46:18&#8211; &nbsp;https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/index.php<\/div>\n<div>Resolving raw.github.com (raw.github.com)&#8230; 207.97.227.243<\/div>\n<div>Connecting to raw.github.com (raw.github.com)|207.97.227.243|:443&#8230; connected.<\/div>\n<div>HTTP request sent, awaiting response&#8230; 200 OK<\/div>\n<div>Length: 3292 (3.2K) [text\/plain]<\/div>\n<div>Saving to: `html\/index.php&#39;<\/div>\n<div>&nbsp;<\/div>\n<div>100%[=========================================================================>] 3,292 &nbsp; &nbsp; &nbsp; &#8211;.-K\/s &nbsp; in 0s<\/div>\n<div>&nbsp;<\/div>\n<div>2012-07-12 00:46:19 (76.6 MB\/s) &#8211; `html\/index.php&#39; saved [3292\/3292]<\/div>\n<div>&nbsp;<\/div>\n<div>\n<div>$ wget https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/example.htaccess -O html\/.htaccess<\/div>\n<div>&#8211;2012-07-12 00:46:47&#8211; &nbsp;https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/example.htaccess<\/div>\n<div>Resolving raw.github.com (raw.github.com)&#8230; 207.97.227.243<\/div>\n<div>Connecting to raw.github.com (raw.github.com)|207.97.227.243|:443&#8230; connected.<\/div>\n<div>HTTP request sent, awaiting response&#8230; 200 OK<\/div>\n<div>Length: 517 [text\/plain]<\/div>\n<div>Saving to: `html\/.htaccess&#39;<\/div>\n<div>&nbsp;<\/div>\n<div>100%[=========================================================================>] 517 &nbsp; &nbsp; &nbsp; &nbsp; &#8211;.-K\/s &nbsp; in 0s<\/div>\n<div>&nbsp;<\/div>\n<div>2012-07-12 00:46:48 (24.1 MB\/s) &#8211; `html\/.htaccess&#39; saved [517\/517]<\/div>\n<div>&nbsp;<\/div>\n<div>$ mkdir -p modules\/application<\/div>\n<div>\n<div>$ wget https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/application\/bootstrap.php -O modules\/application\/bootstrap.php<\/div>\n<div>&#8211;2012-07-12 00:47:32&#8211; &nbsp;https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/application\/bootstrap.php<\/div>\n<div>Resolving raw.github.com (raw.github.com)&#8230; 207.97.227.243<\/div>\n<div>Connecting to raw.github.com (raw.github.com)|207.97.227.243|:443&#8230; connected.<\/div>\n<div>HTTP request sent, awaiting response&#8230; 200 OK<\/div>\n<div>Length: 3612 (3.5K) [text\/plain]<\/div>\n<div>Saving to: `modules\/application\/bootstrap.php&#39;<\/div>\n<div>&nbsp;<\/div>\n<div>100%[=========================================================================>] 3,612 &nbsp; &nbsp; &nbsp; &#8211;.-K\/s &nbsp; in 0s<\/div>\n<div>&nbsp;<\/div>\n<div>2012-07-12 00:47:33 (104 MB\/s) &#8211; `modules\/application\/bootstrap.php&#39; saved [3612\/3612]<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div>If you try accessing your site you should see an error:<\/div>\n<div>&#8212;&#8212;&#8212;-<\/div>\n<div><br style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Warning<\/b><span style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">: require(\/bootstrap.php): failed to open stream: No such file or directory in&nbsp;<\/span><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\/home\/httpd\/domains\/menospior.dev\/html\/index.php<\/b><span style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">&nbsp;on line&nbsp;<\/span><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">102<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Fatal error<\/b><span style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">: require(): Failed opening required &#39;\/bootstrap.php&#39; (include_path=&#39;.:\/php\/library\/php-redis:\/usr\/share\/pear&#39;) in<\/span><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">\/home\/httpd\/domains\/menospior.dev\/html\/index.php<\/b><span style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">&nbsp;on line&nbsp;<\/span><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">102<\/b><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/p><\/div>\n<div><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/b><\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<div><b style=\"color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; \">Let&#39;s adjust the environment<\/b>:<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/p><\/div>\n<div>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">Chage a few settings:<br \/>\n\t\t\thtml\/index.php<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">$application = &#39;..\/modules\/application&#39;;<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">$modules = &#39;..\/modules&#39;;<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">$system = &#39;..\/modues\/system&#39;;<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">&nbsp;<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">Customize some kohana settings:<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">..\/modules\/application\/bootstrap.php<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">date_default_timezone_set(&#39;America\/Los_Angeles&#39;);<\/p>\n<p style=\"font-family: 'Segoe UI', Arial, sans-serif; border: 0px; margin: 0px 0px 8px; padding: 0px; vertical-align: baseline; font-size: 15.555556297302246px; line-height: 1.7em; color: rgb(51, 51, 51); \">&nbsp;<\/p>\n<div>Kohana::init(array(<\/div>\n<div>&#39;base_url&#39; &nbsp; =&gt; &#39;\/&#39;,<\/div>\n<div>&#39;index_file&#39; =&gt; FALSE,<\/div>\n<div>&#39;cache_dir&#39; &nbsp;=&gt; DOCROOT.&#39;..\/cache&#39;<\/div>\n<div>));<\/div>\n<div>Kohana::$log-&gt;attach(new Log_File(DOCROOT.&#39;..\/logs&#39;));<\/div>\n<div>&nbsp;<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/p><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Now create the logs folder<\/p>\n<p>$ mkdir logs<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>At this point you should have a 404 error as there&#39;s no controller:<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h1 style=\"margin: 0px; padding: 1em; font-size: 1em; font-weight: normal; background-color: rgb(153, 17, 17); color: rgb(255, 255, 255); font-family: sans-serif; text-align: left; \"><span class=\"type\">HTTP_Exception_404 [ 404 ]:<\/span>&nbsp;<span class=\"message\">The requested URL \/ was not found on this server.<\/span><\/h1>\n<div class=\"content\" id=\"error4ffe82d0a07cb\" style=\"padding: 0.4em 1em 1em; overflow: hidden; color: rgb(17, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; \">\n<p style=\"margin: 0px; padding: 0.2em 0px; \"><span class=\"file\">SYSPATH\/classes\/kohana\/request\/client\/internal.php [ 87 ]<\/span><\/p>\n<pre class=\"source\" style=\"overflow: auto; white-space: pre-wrap; margin-top: 0px; padding: 0.4em; border: 1px dotted rgb(183, 198, 128); line-height: 1.2em; \"><code><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">82<\/span> \n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">83<\/span> \t\ttry\n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">84<\/span> \t\t{\n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">85<\/span> \t\t\tif ( ! class_exists($prefix.$controller))\n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">86<\/span> \t\t\t{\n<\/span><span class=\"line highlight\" style=\"display: block; background-color: rgb(240, 235, 150); background-position: initial initial; background-repeat: initial initial; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">87<\/span> \t\t\t\tthrow new HTTP_Exception_404(&#39;The requested URL :uri was not found on this server.&#39;,\n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">88<\/span> \t\t\t\t\t\t\t\t\t\t\t\t\tarray(&#39;:uri&#39; =&gt; $request-&gt;uri()));\n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">89<\/span> \t\t\t}\n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">90<\/span> \n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">91<\/span> \t\t\t\/\/ Load the controller using reflection\n<\/span><span class=\"line\" style=\"display: block; \"><span class=\"number\" style=\"color: rgb(102, 102, 102); \">92<\/span> \t\t\t$class = new ReflectionClass($prefix.$controller);\n<\/span><\/code><\/pre>\n<ol class=\"trace\" style=\"margin: 0px 0px 0px 2em; padding-right: 0px; padding-left: 0px; list-style-position: initial; list-style-image: initial; \">\n<li style=\"margin: 0px; padding: 0px; \">\n<p style=\"margin: 0px; padding: 0.2em 0px; \"><span class=\"file\"><a href=\"http:\/\/menospior.dev\/#error4ffe82d0a07cbsource0\" style=\"color: rgb(27, 50, 59); \">SYSPATH\/classes\/kohana\/request\/client.php [ 64 ]<\/a>&nbsp;<\/span>&raquo; Kohana_Request_Client_Internal-&gt;execute_request(<a href=\"http:\/\/menospior.dev\/#error4ffe82d0a07cbargs0\" style=\"color: rgb(27, 50, 59); \">arguments<\/a>)<\/p>\n<\/li>\n<li style=\"margin: 0px; padding: 0px; \">\n<p style=\"margin: 0px; padding: 0.2em 0px; \"><span class=\"file\"><a href=\"http:\/\/menospior.dev\/#error4ffe82d0a07cbsource1\" style=\"color: rgb(27, 50, 59); \">SYSPATH\/classes\/kohana\/request.php [ 1138 ]<\/a>&nbsp;<\/span>&raquo; Kohana_Request_Client-&gt;execute(<a href=\"http:\/\/menospior.dev\/#error4ffe82d0a07cbargs1\" style=\"color: rgb(27, 50, 59); \">arguments<\/a>)<\/p>\n<\/li>\n<li style=\"margin: 0px; padding: 0px; \">\n<p style=\"margin: 0px; padding: 0.2em 0px; \"><span class=\"file\"><a href=\"http:\/\/menospior.dev\/#error4ffe82d0a07cbsource2\" style=\"color: rgb(27, 50, 59); \">DOCROOT\/index.php [ 109 ]<\/a>&nbsp;<\/span>&raquo; Kohana_Request-&gt;execute()<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<h2 style=\"margin: 0px; padding: 1em; font-size: 1em; font-weight: normal; background-color: rgb(34, 34, 34); color: rgb(255, 255, 255); font-family: sans-serif; text-align: left; \"><a href=\"http:\/\/menospior.dev\/#error4ffe82d0a07cbenvironment\" style=\"color: rgb(255, 255, 255); \">Environment<\/a><\/h2>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>This is optional:<\/p>\n<p>&nbsp;<\/p>\n<div>$ wget https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/install.php -O html\/install.php<\/div>\n<div>&#8211;2012-07-12 01:43:59&#8211; &nbsp;https:\/\/raw.github.com\/kohana\/kohana\/3.2\/master\/install.php<\/div>\n<div>Resolving raw.github.com (raw.github.com)&#8230; 207.97.227.243<\/div>\n<div>Connecting to raw.github.com (raw.github.com)|207.97.227.243|:443&#8230; connected.<\/div>\n<div>HTTP request sent, awaiting response&#8230; 200 OK<\/div>\n<div>Length: 8411 (8.2K) [text\/plain]<\/div>\n<div>Saving to: `html\/install.php&#39;<\/div>\n<div>&nbsp;<\/div>\n<div>100%[=========================================================================>] 8,411 &nbsp; &nbsp; &nbsp; &#8211;.-K\/s &nbsp; in 0s<\/div>\n<div>&nbsp;<\/div>\n<div>2012-07-12 01:44:00 (19.5 MB\/s) &#8211; `html\/install.php&#39; saved [8411\/8411]<\/div>\n<div>&nbsp;<\/div>\n<div>the step above download the install.php file that can be used to test your environment. There are a few things wrong in the script, but it can tell you if you env has all the bells and whisles to use Kohana<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Problems you may want to fix:<\/p>\n<p><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; \">The&nbsp;<\/span><a href=\"http:\/\/php.net\/iconv\" style=\"font-family: sans-serif; font-size: 16px; text-align: left; \">iconv<\/a><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; \">&nbsp;extension is not loaded.<\/span><\/p>\n<p>Uncomment the line<\/p>\n<p>extension=iconv.so<\/p>\n<p>in your php.ini file and restart Apache<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; background-color: rgb(238, 238, 238); \">Kohana requires&nbsp;<\/span><a href=\"http:\/\/php.net\/mcrypt\" style=\"font-family: sans-serif; font-size: 16px; text-align: left; background-color: rgb(238, 238, 238); \">mcrypt<\/a><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; background-color: rgb(238, 238, 238); \">&nbsp;for the Encrypt class.<\/span><\/p>\n<p>Uncomment the line<\/p>\n<p>extension=mcrypt.so<\/p>\n<p>in your php.ini file and restart Apache<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; \">Kohana requires&nbsp;<\/span><a href=\"http:\/\/php.net\/gd\" style=\"font-family: sans-serif; font-size: 16px; text-align: left; \">GD<\/a><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; \">&nbsp;v2 for the Image class.<\/span><\/p>\n<p>Uncomment the line<\/p>\n<p>extension=gd.so<\/p>\n<p>in your php.ini file and restart Apache<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; background-color: rgb(238, 238, 238); \">Kohana can use the&nbsp;<\/span><a href=\"http:\/\/php.net\/http\" style=\"font-family: sans-serif; font-size: 16px; text-align: left; background-color: rgb(238, 238, 238); \">http<\/a><span style=\"color: rgb(153, 17, 17); font-family: sans-serif; font-size: 16px; text-align: left; background-color: rgb(238, 238, 238); \">&nbsp;extension for the Request_Client_External class.<\/span><\/p>\n<p>Install the pecl_http extension<\/p>\n<p>&nbsp;<\/p>\n<div># pacman -Sy php-pear&nbsp;autoconf<\/div>\n<div># pecl install pecl_http<\/div>\n<div>\/usr\/lib\/gcc\/arm-unknown-linux-gnueabi\/4.7.1\/cc1: error while loading shared libraries: libppl.so.12: cannot open shared object file: No such file or directory<\/div>\n<div>pecl\/pecl_http can optionally use PHP extension &quot;iconv&quot;<\/div>\n<div>downloading pecl_http-1.7.4.tgz &#8230;<\/div>\n<div>Starting to download pecl_http-1.7.4.tgz (174,503 bytes)<\/div>\n<div>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.done: 174,503 bytes<\/div>\n<div>71 source files, building<\/div>\n<div>running: phpize<\/div>\n<div>Configuring for:<\/div>\n<div>PHP Api Version: &nbsp; &nbsp; &nbsp; &nbsp; 20100412<\/div>\n<div>Zend Module Api No: &nbsp; &nbsp; &nbsp;20100525<\/div>\n<div>Zend Extension Api No: &nbsp; 220100525<\/div>\n<div>&nbsp;<\/div>\n<p>\/usr\/lib\/php\/modules\/http.so<\/p>\n<p>You should add &quot;extension=http.so&quot; to php.ini<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Fix install.php folder checks:<\/p>\n<p>&nbsp;<\/p>\n<div>&lt;tr&gt;<\/div>\n<div>&lt;th&gt;Cache Directory&lt;\/th&gt;<\/div>\n<div>&lt;?php if (is_dir(APPPATH) AND is_dir(DOCROOT.&#39;..\/cache&#39;) AND is_writable(DOCROOT.&#39;..\/cache&#39;)): ?&gt;<\/div>\n<div>&lt;td class=&quot;pass&quot;&gt;&lt;?php echo DOCROOT.&#39;..\/cache&#39; ?&gt;&lt;\/td&gt;<\/div>\n<div>&lt;?php else: $failed = TRUE ?&gt;<\/div>\n<div>&lt;td class=&quot;fail&quot;&gt;The &lt;code&gt;&lt;?php echo DOCROOT.&#39;..\/cache&#39; ?&gt;&lt;\/code&gt; directory is not writable.&lt;\/td&gt;<\/div>\n<div>&lt;?php endif ?&gt;<\/div>\n<div>&lt;\/tr&gt;<\/div>\n<div>&lt;tr&gt;<\/div>\n<div>&lt;th&gt;Logs Directory&lt;\/th&gt;<\/div>\n<div>&lt;?php if (is_dir(APPPATH) AND is_dir(DOCROOT.&#39;..\/logs&#39;) AND is_writable(DOCROOT.&#39;..\/logs&#39;)): ?&gt;<\/div>\n<div>&lt;td class=&quot;pass&quot;&gt;&lt;?php echo DOCROOT.&#39;..\/logs&#39; ?&gt;&lt;\/td&gt;<\/div>\n<div>&lt;?php else: $failed = TRUE ?&gt;<\/div>\n<div>&lt;td class=&quot;fail&quot;&gt;The &lt;code&gt;&lt;?php DOCROOT.&#39;..\/logs&#39; ?&gt;&lt;\/code&gt; directory is not writable.&lt;\/td&gt;<\/div>\n<div>&lt;?php endif ?&gt;<\/div>\n<div>&lt;\/tr&gt;<\/div>\n<div>&nbsp;<\/div>\n<div>&nbsp;<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After cloning the repository, let&#39;s add the Kohana core, a few modules and customize the installation: 1.&nbsp; git submodule add git:\/\/github.com\/kohana\/core.git modules\/system git submodule add git:\/\/github.com\/kohana\/database.git modules\/database git submodule add git:\/\/github.com\/kohana\/cache.git modules\/cache git submodule add git:\/\/github.com\/kohana\/image.git modules\/image git submodule add git:\/\/github.com\/kohana\/pagination.git modules\/pagination &nbsp; 2. Initialize the modules &nbsp; $ git&#8230; <a class=\"continue-reading-link\" href=\"https:\/\/blog.portnumber53.com\/index.php\/2012\/07\/12\/kohana-core-adding-submodules-customization\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[99,159,191,207,242],"class_list":["post-831","post","type-post","status-publish","format-standard","hentry","category-development","tag-customize","tag-git","tag-installation","tag-kohana","tag-modules"],"_links":{"self":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/posts\/831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/comments?post=831"}],"version-history":[{"count":0,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/posts\/831\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/media?parent=831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/categories?post=831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/tags?post=831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}