This is a recipe for a fast Drupal installation. Customization level: Custom Site name, custom site password, custom database password, configured drush alias
A Pen by Franco Cedillo on CodePen.
This is a recipe for a fast Drupal installation. Customization level: Custom Site name, custom site password, custom database password, configured drush alias
A Pen by Franco Cedillo on CodePen.
<div ng-app='DrupalRecipe'> | |
<table> | |
<tr> | |
<td> | |
<label>Name:</label> | |
<input type="text" ng-model="Name" placeholder="Enter a name here" /> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<label>Web App Path:</label> | |
<input type="text" ng-model="WebAppPath" placeholder="Web App Path" /> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<label>E-mail:</label> | |
<input type="text" ng-model="E_mail" placeholder="Enter a e-mail here" /> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<label>Site Admin Pass:</label> | |
<input type="text" ng-model="WEB_PASS" placeholder="Web admin Password" /> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<label>DB Password:</label> | |
<input type="text" ng-model="DB_PASS" placeholder="DB Password here" /> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<label>Database Superuser:</label> | |
<input type="text" ng-model="DB_SU" placeholder="DB Super User name" /> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<label>Database Superuser Password:</label> | |
<input type="text" ng-model="DB_SU_PW" placeholder="DB Super User pwd" /> | |
</td> | |
</tr> | |
<tr> | |
<td> | |
<form> | |
<input type="radio" ng-model="os" ng-value="{name: 'osx', editor:'open -a TextMate', vhost:'/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf', vhostFileDisplay: 'none', errorLogPath: '/Applications/MAMP/logs', webserver: '_www' }" /> OS X | |
<input type="radio" ng-model="os" ng-value="{name: 'linux', editor:'mousepad', vhost:'/etc/apache2/sites-available', vhostFileDisplay: 'inline', errorLogPath: '${APACHE_LOG_DIR}', webserver: 'www-data' } " /> Linux | |
</form> | |
</td> | |
</tr> | |
</table> | |
<hr> | |
<h1>Project: {{Name}}</h1> | |
<pre> | |
replicate drupal in htdocs | |
cp -r {{WebAppPath}}/drupal-7.26 {{WebAppPath}}/{{Name}}.com | |
add to hosts | |
sudo {{os.editor}} /etc/hosts | |
127.0.0.1 {{Name}}.com www.{{Name}}.com | |
add to vhosts | |
<span>sudo {{os.editor}} {{os.vhost}}</span><span style="display: {{os.vhostFileDisplay}}">/{{Name}}.conf</span> | |
<span style="display: {{os.vhostFileDisplay}}">sudo a2ensite {{Name}}.conf</span> | |
<span style="display: {{os.vhostFileDisplay}}">sudo service apache2 reload</span> | |
########################################################################### | |
<VirtualHost *:80> | |
ServerName {{Name}}.com | |
ServerAlias www.{{Name}}.com | |
DocumentRoot "{{WebAppPath}}/{{Name}}" | |
ServerAdmin {{E_mail}}' | |
<Directory {{WebAppPath}}/{{Name}}> | |
Options Indexes FollowSymLinks MultiViews | |
AllowOverride All | |
Order allow,deny | |
allow from all | |
</Directory> | |
ErrorLog "{{os.errorLogPath}}/{{Name}}.com-error.log" | |
# Possible values include: debug, info, notice, warn, error, crit, | |
# alert, emerg. | |
LogLevel notice | |
CustomLog "{{os.errorLogPath}}/{{Name}}.com-access.log" common | |
</VirtualHost> | |
########################################################################### | |
{{Name}}db | |
{{Name}}dbuser | |
{{DB_PASS}} | |
add to drushrc.php | |
{{os.editor}} ~/.drush/local.aliases.drushrc.php | |
######################################################################## | |
<?php | |
$aliases['{{Name}}'] = array( | |
'root' => '{{WebAppPath}}/{{Name}}', | |
'uri' => '{{Name}}.com', | |
'db-url' => 'mysql://{{Name}}dbuser:{{DB_PASS}}@localhost/{{Name}}db', | |
'databases' => array ( | |
'default' => array ( | |
'default' => array ( | |
'driver' => 'mysql', | |
'username' => '{{Name}}dbuser', | |
'password' => '{{DB_PASS}}', | |
'port' => '', | |
'host' => 'localhost', | |
'database' => '{{Name}}db', | |
), | |
), | |
), | |
'command-specific' => array ( | |
'site-install' => array ( | |
'site-name' => '{{ Name | capitalize }}', | |
'site-mail' => '{{E_mail}}', | |
'account-name' => '{{Name}}admin', | |
'account-mail' => '{{E_mail}}', | |
'account-pass' => '{{WEB_PASS}}', | |
'db-url' => 'mysql://{{Name}}dbuser:{{DB_PASS}}@localhost/{{Name}}db', | |
'db-su' => '{{DB_SU}}', | |
'db-su-pw' => '{{DB_SU_PW}}', | |
), | |
), | |
); | |
######################################################################## | |
drush @{{Name}} si | |
firefox {{Name}}.com | |
drush @{{Name}} dl ctools views token pathauto features diff | |
drush @{{Name}} en ctools views token pathauto views_ui features diff | |
CREATE DATABASE {{Name}}db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; | |
GRANT ALL PRIVILEGES ON {{Name}}db.* TO {{Name}}dbuser@localhost IDENTIFIED BY "{{DB_PASS}}"; | |
FLUSH PRIVILEGES; | |
EXIT | |
sudo chown -R {{os.webserver}} {{WebAppPath}}/{{Name}} | |
sudo chgrp -R webdev {{WebAppPath}}/{{Name}} | |
sudo chmod -R u+rw {{WebAppPath}}/{{Name}} | |
sudo chmod -R g+rw {{WebAppPath}}/{{Name}} | |
</pre> | |
</div> |
var app = angular.module('DrupalRecipe',[]); | |
app.filter('capitalize', function () { | |
"use strict"; | |
return function (input) { | |
if (input === undefined) | |
input = ''; | |
return input.charAt(0).toUpperCase() + input.slice(1); | |
}; | |
}); |
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.5/angular.min.js"></script> |