Project

General

Profile

HowTo Setup the Environment on Ubuntu 1804 » History » Version 1

Peter Qian, 01/04/2021 09:16 AM

1 1 Peter Qian
h1. HowTo Setup the Environment on Ubuntu 18.04
2
3
{{>toc}}
4
5
h2. Step 0: Download the ISO
6
7
Grab the latest and greatest 18.04 "here":https://www.ubuntu.com/download/desktop
8
Just a heads up it is a 1.8Gb download.
9
10
h2. Step 1: Install
11
12
Boot the ISO in a new VM (recommended) or from a flash drive via the BIOS if you want to replace your OS / dual boot. (not recommended)
13
14
Complete the Ubuntu installation steps and reboot when it asks to.
15
Welcome to 18.04
16
17
h2. Step 2: Install MySQL
18
19
(NOTE: install MySQL-Server first or you’re going to have a bad time)
20
Open the terminal and run the command: 
21
22
<pre>sudo apt install mysql-server</pre>
23
24
h2. Step 3: Install the rest
25
26
Now that MySQL is installed, we can install all the other bells and whistles: 
27
28
<pre>sudo apt install apache2 curl vim php ssh phpmyadmin php-curl php-zip php-bcmath net-tools git</pre>
29
30
h2. Step 4: Creating a MySQL super user
31
32
So apparently 18.04 doesn't allow authentication via password for the root user.
33
So we get around this by creating our own super user. (NOTE: Do not do this on a production server.)
34
35
<pre>sudo mysql</pre>
36
37
(NOTE: change mypassword in the following segment of code to be whatever password you want the super user to have.)
38
39
<pre>CREATE USER 'admin'@'localhost' IDENTIFIED BY 'mypassword';
40
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';
41
GRANT GRANT OPTION ON *.* TO 'admin'@'localhost';
42
FLUSH PRIVILEGES;</pre>
43
44
h2. Step 5: Create the Apache virtual host config file​
45
46
<pre>sudo vim /etc/apache2/sites-available/local.321project.com.au.conf</pre>
47
48
<pre><VirtualHost *:80>
49
    ServerAdmin ​username@email.com
50
    Server​Name local.onko.com.au
51
52
    ServerSignature Off
53
54
    # Turn off mod_security filtering.
55
    <IfModule mod_security2.c>
56
        SecFilterEngine Off
57
    </IfModule>
58
59
    DocumentRoot /home/​myname​/workspace/321project
60
    <Directory />
61
        Options FollowSymLinks MultiViews
62
        DirectoryIndex index.php
63
        AllowOverride All
64
        Header always set Access-Control-Allow-Origin "*"
65
        Header set Access-Control-Allow-Credentials "true"
66
        Header always set Access-Control-Allow-Methods "GET, PUT, POST, DELETE, OPTIONS"
67
        Header always set Access-Control-Allow-Headers "DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Authorization,X-CSRF-Token"
68
        Require all granted
69
        # Modify the RewriteBase if you are using Drupal in a subdirectory and the  RewriteBase /
70
    </Directory>
71
72
    ErrorLog /var/log/apache2/error.log
73
74
    # Possible values include: debug, info, notice, warn, error, crit,
75
    # alert, emerg.
76
    LogLevel warn
77
 
78
    CustomLog /var/log/apache2/access.log combined
79
</VirtualHost></pre>
80
81
h2. Step 6: Configuring all the things
82
83
Apache config stuff
84
<pre>sudo a2enmod headers rewrite
85
sudo a2ensite local.onko.com.au</pre>
86
87
Edit the hosts file 
88
<pre>cd /etc
89
sudo vim hosts</pre>
90
91
and add the following line near the top (‘i’ to insert in vim): 
92
93
<pre>
94
127.0.0.1        local.onko.com.au 
95
</pre>
96
97
<esc> :wq //escape to exit insert mode,   :wq to write and quit 
98
99
100
restart Apache so the changes take effect
101
102
<pre>systemctl restart apache2</pre>
103
104
h2. Step 7: Install Composer
105
106
<pre>php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
107
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffb c1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
108
php composer-setup.php
109
php -r "unlink('composer-setup.php');" 
110
111
sudo mv composer.phar /usr/local/bin/composer
112
</pre>
113
114
h2. Step 8: Installing the Service Club Base
115
116
The Drupal Base install can be found at: https://github.com/didymo/service_club_base
117
118
Use the following commands to git clone it to your workspace folder.
119
120
<pre>
121
cd
122
mkdir workspace
123
cd workspace
124
git clone https://github.com/didymo/service_club_base.git
125
cd service_club_base
126
composer install
127
</pre>
128
129
h2. Step 9: Drupal configuration
130
131
Open your favourite internet browser and go to: http://local.onko.com.au
132
133
Follow the drupal site install instructions, and you will have a working local site!