├── CODE_OF_CONDUCT.md
├── LICENSE
├── Linux
├── Arch
│ └── LAMP_Stack.md
└── Garuda
│ └── LampStackWithYii2.md
├── README.md
└── Windows
├── Adding php and mysql to Path
└── README.md
├── Anaconda
└── README.md
├── Android Studio
├── 01 - Installation
│ └── README.md
├── 02 - Adding Java and Kotlin to Path variable
│ └── README.md
├── 03 - Offline Build
│ ├── README.md
│ └── dot_android.md
└── README.md
├── Composer
└── README.md
├── DB Browser for SQLite
└── README.md
├── Dart
└── README.md
├── Django
└── README.md
├── Flutter
└── README.md
├── Git
└── README.md
├── GitHub_Desktop
└── README.md
├── Go
└── README.md
├── Kotlin
└── README.md
├── Microsoft Visual Studio Code
├── Install_VS_Code_Extensions.bat
└── README.md
├── Node.js
└── README.md
├── Sublime Text
└── README.md
├── XAMPP
└── README.md
└── Yii2
├── Advanced Template
└── README.md
├── Basic Template
└── README.md
└── README.md
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity
10 | and orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the
26 | overall community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards of
42 | acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies when
54 | an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail address,
56 | posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at
63 | kamaldgrt@gmail.com.
64 | All complaints will be reviewed and investigated promptly and fairly.
65 |
66 | All community leaders are obligated to respect the privacy and security of the
67 | reporter of any incident.
68 |
69 | ## Enforcement Guidelines
70 |
71 | Community leaders will follow these Community Impact Guidelines in determining
72 | the consequences for any action they deem in violation of this Code of Conduct:
73 |
74 | ### 1. Correction
75 |
76 | **Community Impact**: Use of inappropriate language or other behavior deemed
77 | unprofessional or unwelcome in the community.
78 |
79 | **Consequence**: A private, written warning from community leaders, providing
80 | clarity around the nature of the violation and an explanation of why the
81 | behavior was inappropriate. A public apology may be requested.
82 |
83 | ### 2. Warning
84 |
85 | **Community Impact**: A violation through a single incident or series
86 | of actions.
87 |
88 | **Consequence**: A warning with consequences for continued behavior. No
89 | interaction with the people involved, including unsolicited interaction with
90 | those enforcing the Code of Conduct, for a specified period of time. This
91 | includes avoiding interactions in community spaces as well as external channels
92 | like social media. Violating these terms may lead to a temporary or
93 | permanent ban.
94 |
95 | ### 3. Temporary Ban
96 |
97 | **Community Impact**: A serious violation of community standards, including
98 | sustained inappropriate behavior.
99 |
100 | **Consequence**: A temporary ban from any sort of interaction or public
101 | communication with the community for a specified period of time. No public or
102 | private interaction with the people involved, including unsolicited interaction
103 | with those enforcing the Code of Conduct, is allowed during this period.
104 | Violating these terms may lead to a permanent ban.
105 |
106 | ### 4. Permanent Ban
107 |
108 | **Community Impact**: Demonstrating a pattern of violation of community
109 | standards, including sustained inappropriate behavior, harassment of an
110 | individual, or aggression toward or disparagement of classes of individuals.
111 |
112 | **Consequence**: A permanent ban from any sort of public interaction within
113 | the community.
114 |
115 | ## Attribution
116 |
117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118 | version 2.0, available at
119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120 |
121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct
122 | enforcement ladder](https://github.com/mozilla/diversity).
123 |
124 | [homepage]: https://www.contributor-covenant.org
125 |
126 | For answers to common questions about this code of conduct, see the FAQ at
127 | https://www.contributor-covenant.org/faq. Translations are available at
128 | https://www.contributor-covenant.org/translations.
129 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Kamal Sharma
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Linux/Arch/LAMP_Stack.md:
--------------------------------------------------------------------------------
1 | # Setting up LAMP Stack
2 |
3 | This setup guide will walk you through installing and configuring Apache
4 | MySQL, PHP (LAMP) 2021 (PHP Version 8) in Arch and Arch-based GNU Linux
5 | distros.
6 |
7 | LAMP is the the acronym of Linux, Apache, MySQL/MariaDB, PHP/Perl.
8 |
9 | ###### Tested on
10 |
11 | - Manjaro Linux x86_64
12 | - Arch Linux x86_64
13 | - Garuda Soaring Eagle x86_64
14 |
15 | ---
16 |
17 | #### Step 1: Update your system
18 |
19 | Run the following command as root user to update your Arch-Based Linux:
20 |
21 | ```js
22 | sudo pacman -Syyu
23 | ```
24 |
25 | ---
26 |
27 | #### Step 2: Install Apache
28 |
29 | - After updating the system, install Apache web server using the command:
30 |
31 | ```js
32 | sudo pacman -S apache
33 | ```
34 |
35 | ---
36 |
37 | - Edit the `/etc/httpd/conf/httpd.conf` file
38 |
39 | ```js
40 | sudo nano /etc/httpd/conf/httpd.conf
41 | ```
42 |
43 | ---
44 |
45 | - Search and comment out the following line if it is not already:
46 |
47 | ```js
48 | [...]
49 | # LoadModule unique_id_module modules/mod_unique_id.so
50 | [...]
51 | ```
52 |
53 | ---
54 |
55 | - Save and close the file.
56 |
57 | - Enable Apache service to start at boot:
58 |
59 | ```bash
60 | sudo systemctl enable httpd
61 | ```
62 |
63 | ---
64 |
65 | - Restart the Apache service:
66 |
67 | ```js
68 | sudo systemctl restart httpd
69 | ```
70 |
71 | ---
72 |
73 | - Verify the status of Apache:
74 |
75 | ```js
76 | sudo systemctl status httpd
77 | ```
78 |
79 | ---
80 |
81 | ###### Sample Output
82 |
83 | ```js
84 | ● httpd.service - Apache Web Server
85 | Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
86 | Active: active (running) since Thu 2021-06-10 08:12:43 IST; 49min ago
87 | Main PID: 595 (httpd)
88 | Tasks: 6 (limit: 9308)
89 | Memory: 56.4M
90 | CPU: 107ms
91 | CGroup: /system.slice/httpd.service
92 | ├─595 /usr/bin/httpd -k start -DFOREGROUND
93 | ├─775 /usr/bin/httpd -k start -DFOREGROUND
94 | ├─776 /usr/bin/httpd -k start -DFOREGROUND
95 | ├─777 /usr/bin/httpd -k start -DFOREGROUND
96 | ├─778 /usr/bin/httpd -k start -DFOREGROUND
97 | └─779 /usr/bin/httpd -k start -DFOREGROUND
98 |
99 | Jun 10 08:12:43 titan systemd[1]: Started Apache Web Server.
100 | Jun 10 08:12:50 titan httpd[595]: AH00112: Warning: DocumentRoot [/etc/httpd/docs/dummy-host.example.com] does not exist
101 | Jun 10 08:12:50 titan httpd[595]: AH00112: Warning: DocumentRoot [/etc/httpd/docs/dummy-host2.example.com] does not exist
102 | Jun 10 08:12:50 titan httpd[595]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress thi>
103 | ```
104 |
105 | ---
106 |
107 | - ##### Testing Apache
108 |
109 | - Let us create a sample page in the Apache root directory, i.e `/srv/http`.
110 |
111 | ```bash
112 | sudo nano /srv/http/index.html
113 | ```
114 |
115 | ---
116 |
117 | - Add the following lines:
118 |
119 | ```html
120 |
121 |
122 |
123 |
124 |
125 |
126 | Welcome
127 |
128 |
129 | Welcome to my Web Server test page
130 |
131 |
132 | ```
133 |
134 | ---
135 |
136 | - Now, open your web browser and navigate to `http://localhost`
137 |
138 | - You will be seeing the output of the HTML code that we typed above.
139 |
140 | ---
141 |
142 | #### Step 3: Install MariaDB
143 |
144 | - Run the following command to install MariaDB:
145 |
146 | ```js
147 | sudo pacman -S mysql
148 | ```
149 |
150 | ```
151 | :: There are 2 providers available for mysql:
152 | :: Repository extra
153 | 1) mariadb
154 | :: Repository community
155 | 2) percona-server
156 |
157 | Enter a number (default=1):
158 | ```
159 |
160 | - Press `Enter` key in the keyboard.
161 |
162 | ```js
163 | resolving dependencies...
164 | looking for conflicting packages...
165 |
166 | Packages (1) mariadb-10.5.10-1
167 |
168 | Total Installed Size: 235.54 MiB
169 |
170 | :: Proceed with installation? [Y/n]
171 | ```
172 |
173 | - Press `y` or `Y`.
174 |
175 | - And then it goes on to show an output something like the one below:
176 |
177 | ```js
178 | :: Proceed with installation? [Y/n] y
179 | (1/1) checking keys in keyring [---------------------] 100%
180 | (1/1) checking package integrity [---------------------] 100%
181 | (1/1) loading package files [---------------------] 100%
182 | (1/1) checking for file conflicts [---------------------] 100%
183 | (1/1) checking available disk space [---------------------] 100%
184 | :: Processing package changes...
185 | (1/1) installing mariadb [---------------------] 100%
186 |
187 | :: You need to initialize the MariaDB data directory prior to starting
188 | the service. This can be done with mariadb-install-db command, e.g.:
189 | mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
190 | Optional dependencies for mariadb
191 | cracklib: for cracklib plugin [installed]
192 | curl: for ha_s3 plugin [installed]
193 | galera: for MariaDB cluster with Galera WSREP
194 | python-mysqlclient: for myrocks_hotbackup
195 | perl-dbd-mariadb: for mariadb-hotcopy, mariadb-convert-table-format and mariadb-setpermission
196 | :: Running post-transaction hooks...
197 | ( 1/10) Syncing all file systems...
198 | ( 2/10) Creating system user accounts...
199 | ( 3/10) Reloading system manager configuration...
200 | ( 4/10) Creating temporary files...
201 | Failed to write file "/sys/module/pcie_aspm/parameters/policy": Operation not permitted
202 | error: command failed to execute correctly
203 | ( 5/10) Arming ConditionNeedsUpdate...
204 | ( 6/10) Foreign/AUR package notification
205 | snapd 2.51-1
206 | ( 7/10) Orphaned package notification...
207 | botan 2.18.1-1
208 | cmake 3.20.3-1
209 | electron 12.0.9-1
210 | go 2:1.16.5-1
211 | go-tools 4:0.1.2-1
212 | gtkspell3 3.0.10-2
213 | kfiredragonhelper 5.0.6-1
214 | libcurl-gnutls 7.77.0-1
215 | libzip 1.7.3-2
216 | lua51 5.1.5-9
217 | mujs 1.1.2-1
218 | oniguruma 6.9.7.1-1
219 | python-docutils 0.16-4
220 | python-flask-compress 1.8.0-1
221 | python-flask-gravatar 0.5.0-5
222 | python-flask-migrate 3.0.0-1
223 | python-flask-paranoid 0.2-6
224 | python-flask-security-too 4.0.1-1
225 | python-gssapi 1.6.12-2
226 | python-ldap3 2.9-1
227 | python-pexpect 4.8.0-3
228 | python-simplejson 3.17.2-4
229 | python-sqlparse 0.4.1-3
230 | python-sshtunnel 0.4.0-1
231 | qtkeychain-qt5 0.12.0-1
232 | ripgrep 12.1.1-1
233 | rnnoise 0.4.1-1
234 | stunnel 5.59-1
235 | swig 4.0.2-2
236 | wireplumber 0.3.96-1
237 | xosd 2.2.14-10
238 | ( 8/10) Checking for .pacnew and .pacsave files...
239 | .pac* files found:
240 | /etc/httpd/conf/httpd.conf.pacsave
241 | /etc/httpd/conf/extra/httpd-vhosts.conf.pacsave
242 | /etc/pacman.conf.pacnew
243 | /etc/pacman.d/mirrorlist.pacnew
244 | /etc/paru.conf.pacnew
245 | /etc/systemd/system.conf.pacnew
246 | /etc/systemd/user.conf.pacnew
247 | Please check and merge
248 | ( 9/10) Updating pkgfile database...
249 | (10/10) Syncing all file systems...
250 | ```
251 |
252 | ---
253 |
254 | - You need to initialize the MariaDB data directory prior to starting
255 | the service. This can be done with `mariadb-install-db` command:
256 |
257 | ```js
258 | sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
259 | ```
260 |
261 | ---
262 |
263 | - The above command will show an output similar to this:
264 |
265 | ```js
266 | Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
267 | OK
268 |
269 | To start mysqld at boot time you have to copy
270 | support-files/mysql.server to the right place for your system
271 |
272 |
273 | Two all-privilege accounts were created.
274 | One is root@localhost, it has no password, but you need to
275 | be system 'root' user to connect. Use, for example, sudo mysql
276 | The second is mysql@localhost, it has no password either, but
277 | you need to be the system 'mysql' user to connect.
278 | After connecting you can set the password, if you would need to be
279 | able to connect as any of these users with a password and without sudo
280 |
281 | See the MariaDB Knowledgebase at https://mariadb.com/kb or the
282 | MySQL manual for more instructions.
283 |
284 | You can start the MariaDB daemon with:
285 | cd '/usr' ; /usr/bin/mysqld_safe --datadir='/var/lib/mysql'
286 |
287 | You can test the MariaDB daemon with mysql-test-run.pl
288 | cd '/usr/mysql-test' ; perl mysql-test-run.pl
289 |
290 | Please report any problems at https://mariadb.org/jira
291 |
292 | The latest information about MariaDB is available at https://mariadb.org/.
293 | You can find additional information about the MySQL part at:
294 | https://dev.mysql.com
295 | Consider joining MariaDB's strong and vibrant community:
296 | https://mariadb.org/get-involved/
297 | ```
298 |
299 | ---
300 |
301 | - Enable MySQL service to start at boot:
302 |
303 | ```bash
304 | sudo systemctl enable mysqld
305 | ```
306 |
307 | ---
308 |
309 | - Start the MySQL service:
310 |
311 | ```js
312 | sudo systemctl start mysqld
313 | ```
314 |
315 | ---
316 |
317 | - You can verify whether MariaDB is running or not using command:
318 |
319 | ```js
320 | sudo systemctl status mysqld
321 | ```
322 |
323 | ---
324 |
325 | - The above command will show an output similar to this:
326 |
327 | ```js
328 | ● mariadb.service - MariaDB 10.5.10 database server
329 | Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
330 | Active: active (running) since Sat 2021-06-12 00:10:17 IST; 1min 17s ago
331 | Docs: man:mariadbd(8)
332 | https://mariadb.com/kb/en/library/systemd/
333 | Process: 345550 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
334 | Process: 345618 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited>
335 | Process: 345749 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
336 | Main PID: 345656 (mariadbd)
337 | Status: "Taking your SQL requests now..."
338 | Tasks: 8 (limit: 9308)
339 | Memory: 68.8M
340 | CPU: 182ms
341 | CGroup: /system.slice/mariadb.service
342 | └─345656 /usr/bin/mariadbd
343 |
344 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
345 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: 10.5.10 started; log sequence number 45106; transaction id 20
346 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
347 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: Buffer pool(s) load completed at 210612 0:10:17
348 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] Server socket created on IP: '::'.
349 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] Reading of all Master_info entries succeeded
350 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] Added new Master_info '' to hash table
351 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] /usr/bin/mariadbd: ready for connections.
352 | Jun 12 00:10:17 titan mariadbd[345656]: Version: '10.5.10-MariaDB' socket: '/run/mysqld/mysqld.sock' port: 3306 Arch Linux
353 | Jun 12 00:10:17 titan systemd[1]: Started MariaDB 10.5.10 database server.
354 | ```
355 |
356 | ---
357 |
358 | - ##### Setup MySQL/MariaDB root user password
359 |
360 | As you may know, it is recommended to setup a password for database root user.
361 |
362 | Run the following command to setup MariaDB root user password:
363 |
364 | ```js
365 | sudo mysql_secure_installation
366 | ```
367 |
368 | ---
369 |
370 | - The above command will result in something like this:
371 |
372 | ```js
373 | NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
374 | SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
375 |
376 | In order to log into MariaDB to secure it, we'll need the current
377 | password for the root user. If you've just installed MariaDB, and
378 | haven't set the root password yet, you should just press enter here.
379 |
380 | Enter current password for root (enter for none):
381 | ```
382 |
383 | - Like the above message in the terminal says: Press `Enter`.
384 |
385 | ```js
386 | OK, successfully used password, moving on...
387 |
388 | Setting the root password or using the unix_socket ensures that nobody
389 | can log into the MariaDB root user without the proper authorisation.
390 |
391 | You already have your root account protected, so you can safely answer 'n'.
392 |
393 | Switch to unix_socket authentication [Y/n]
394 | ```
395 |
396 | - Press `Enter`.
397 |
398 | ```js
399 | Enabled successfully!
400 | Reloading privilege tables..
401 | ... Success!
402 |
403 |
404 | You already have your root account protected, so you can safely answer 'n'.
405 |
406 | Change the root password? [Y/n]
407 | ```
408 |
409 | - Press `Enter`.
410 |
411 | ```js
412 | New password:
413 | ```
414 |
415 | - Enter a new password for the MySQL. You will be using this
416 | for the `phpMyAdmin` too. So, remember it.
417 |
418 | ```js
419 | Re-enter new password:
420 | ```
421 |
422 | - Re-enter the password that you have typed above.
423 |
424 | ```js
425 | Password updated successfully!
426 | Reloading privilege tables..
427 | ... Success!
428 |
429 |
430 | By default, a MariaDB installation has an anonymous user, allowing anyone
431 | to log into MariaDB without having to have a user account created for
432 | them. This is intended only for testing, and to make the installation
433 | go a bit smoother. You should remove them before moving into a
434 | production environment.
435 |
436 | Remove anonymous users? [Y/n]
437 | ```
438 |
439 | - Press `Enter`.
440 |
441 | ```js
442 | ... Success!
443 |
444 | Normally, root should only be allowed to connect from 'localhost'. This
445 | ensures that someone cannot guess at the root password from the network.
446 |
447 | Disallow root login remotely? [Y/n]
448 | ```
449 |
450 | - Press `Enter`.
451 |
452 | ```js
453 | ... Success!
454 |
455 | By default, MariaDB comes with a database named 'test' that anyone can
456 | access. This is also intended only for testing, and should be removed
457 | before moving into a production environment.
458 |
459 | Remove test database and access to it? [Y/n]
460 | ```
461 |
462 | - Press `Enter`.
463 |
464 | ```js
465 | - Dropping test database...
466 | ... Success!
467 | - Removing privileges on test database...
468 | ... Success!
469 |
470 | Reloading the privilege tables will ensure that all changes made so far
471 | will take effect immediately.
472 |
473 | Reload privilege tables now? [Y/n]
474 | ```
475 |
476 | - Press `Enter`.
477 |
478 | ```js
479 | ... Success!
480 |
481 | Cleaning up...
482 |
483 | All done! If you've completed all of the above steps, your MariaDB
484 | installation should now be secure.
485 |
486 | Thanks for using MariaDB!
487 | ```
488 |
489 | ---
490 |
491 | ### Step 4: Intalling PHP + PHP Extensions + phpMyAdmin
492 |
493 | - PHP
494 |
495 | ```js
496 | sudo pacman -S php php-apache
497 | ```
498 |
499 | ---
500 |
501 | - PHP Extensions
502 |
503 | ```js
504 | sudo pacman -S php-cgi php-fpm php-gd php-embed php-intl php-imap php-redis php-snmp
505 | ```
506 |
507 | ---
508 |
509 | - phpMyAdmin
510 |
511 | ```js
512 | sudo pacman -S phpmyadmin
513 | ```
514 |
515 | ---
516 |
517 | - Composer: PHP Package manager
518 |
519 | ```js
520 | sudo pacman -S composer
521 | ```
522 |
523 | ---
524 |
525 | - Now let us edit the configurations to make it all work.
526 |
527 | - After PHP is installed, we need to configure Apache PHP module.
528 | To do so, edit `/etc/httpd/conf/httpd.conf` file,
529 |
530 | ---
531 |
532 | ```js
533 | sudo nano /etc/httpd/conf/httpd.conf
534 | ```
535 |
536 | - Find the following line and comment it out:
537 |
538 | ```js
539 | [...]
540 | # LoadModule mpm_event_module modules/mod_mpm_event.so
541 | [...]
542 | ```
543 |
544 | - Uncomment or add the line:
545 |
546 | ```js
547 | LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
548 | ```
549 |
550 | - Then, add the following lines at the bottom for php8:
551 |
552 | ```js
553 | LoadModule php_module modules/libphp.so
554 | AddHandler php-script php
555 | Include conf/extra/php_module.conf
556 | ```
557 |
558 | - To Enable the rewrite module in `httpd.conf`
559 | uncomment / add this line:
560 |
561 | ```js
562 | LoadModule rewrite_module modules/mod_rewrite.so
563 | ```
564 |
565 | - Find the config that starts like ``.
566 | - In that config, make the changes like this:
567 |
568 | ```java
569 | AllowOverride All
570 | ```
571 |
572 | 
573 |
574 | - Save and close the file.
575 |
576 | - Restart the `httpd` service
577 |
578 | ```js
579 | sudo systemctl restart httpd
580 | ```
581 |
582 | ---
583 |
584 | - ###### Test PHP
585 |
586 | Now create a `test.php` file in the Apache root directory.
587 |
588 | ```js
589 | sudo nano /srv/http/test.php
590 | ```
591 |
592 | ---
593 |
594 | - Add the following lines:
595 |
596 | ```php
597 |
600 | ```
601 |
602 | - Restart the `httpd` service.
603 |
604 | ```js
605 | sudo systemctl restart httpd
606 | ```
607 |
608 | - Open up your web browser and navigate to `http://localhost/test.php`.
609 |
610 | ---
611 |
612 | - ##### Configuring phpMyAdmin
613 |
614 | - `phpMyAdmin` is a graphical MySQL/MariaDB administration tool
615 | that can be used to create, edit and delete databases.
616 |
617 | - Lets configure that. Edit `php.ini` file:
618 |
619 | ```js
620 | sudo nano /etc/php/php.ini
621 | ```
622 |
623 | - Make sure the following lines are uncommented.
624 |
625 | ```js
626 | [...]
627 | extension=bz2
628 | extension=gd
629 | extension=iconv
630 | extension=mysqli
631 | extension=pdo_mysql
632 | [...]
633 | ```
634 |
635 | - Save and close the file.
636 |
637 | ---
638 |
639 | - Next, create a configuration file for `phpMyAdmin`:
640 |
641 | ```js
642 | sudo nano /etc/httpd/conf/extra/phpmyadmin.conf
643 | ```
644 |
645 | - Add the following lines:
646 |
647 | ```xml
648 | Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
649 |
650 | DirectoryIndex index.php
651 | AllowOverride All
652 | Options FollowSymlinks
653 | Require all granted
654 |
655 | ```
656 |
657 | ---
658 |
659 | - Then, open Apache configuration file:
660 |
661 | ```js
662 | sudo nano /etc/httpd/conf/httpd.conf
663 | ```
664 |
665 | - Add the following line at the end:
666 |
667 | ```nim
668 | Include conf/extra/phpmyadmin.conf
669 | ```
670 |
671 | - Save and close the file.
672 |
673 | - Restart the `httpd` service again.
674 |
675 | ```js
676 | sudo systemctl restart httpd
677 | ```
678 |
679 | ---
680 |
681 | - ##### Test phpMyAdmin
682 |
683 | - Open your browser and navigate to `http://localhost/phpmyadmin`.
684 |
685 | - You might see an error that says "The configuration file now needs
686 | a secret passphrase (blowfish_secret)" at the bottom of phpMyAdmin
687 | dashboard.
688 |
689 | - To get rid of this error, edit
690 | `/etc/webapps/phpmyadmin/config.inc.php` file.
691 |
692 | ```js
693 | sudo nano /etc/webapps/phpmyadmin/config.inc.php
694 | ```
695 |
696 | - Find the following line and specify bluefish secret passphrase:
697 |
698 | ```php
699 | $cfg['blowfish_secret'] = '`MyP@$S`';
700 | /*
701 | YOU MUST FILL IN THIS FOR COOKIE AUTH!
702 | Length of the passphrase: 32 Characters is preferred.
703 | /*
704 | ```
705 |
706 | - Save and close the file. Restart Apache service.
707 |
708 | ```
709 | sudo systemctl restart httpd
710 | ```
711 |
712 | - The error will be gone now.
713 |
714 | > That’s all for now. At this stage, you have a working
715 | > LAMP stack, and is ready to host your websites locally in your PC.
716 |
--------------------------------------------------------------------------------
/Linux/Garuda/LampStackWithYii2.md:
--------------------------------------------------------------------------------
1 | # Garuda Soaring Eagle (GNOME)
2 |
3 | ### Setting up LAMP Stack + VirtualHost for Yii2
4 |
5 | This setup guide will walk you through installing and configuring Apache
6 | MySQL, PHP (LAMP) 2021 (PHP Version 8).
7 |
8 | LAMP is the the acronym of Linux, Apache, MySQL/MariaDB, PHP/Perl.
9 |
10 | ###### Tested on
11 |
12 | - Manjaro Linux x86_64
13 | - Arch Linux x86_64
14 | - Garuda Soaring Eagle x86_64
15 |
16 | ---
17 |
18 | #### Step 1: Update your system
19 |
20 | Run the following command as root user to update your Arch-Based Linux:
21 |
22 | ```js
23 | sudo pacman -Syyu
24 | ```
25 |
26 | ---
27 |
28 | #### Step 2: Install Apache
29 |
30 | - After updating the system, install Apache web server using the command:
31 |
32 | ```js
33 | sudo pacman -S apache
34 | ```
35 |
36 | ---
37 |
38 | - Edit the `/etc/httpd/conf/httpd.conf` file
39 |
40 | ```js
41 | sudo nano /etc/httpd/conf/httpd.conf
42 | ```
43 |
44 | ---
45 |
46 | - Search and comment out the following line if it is not already:
47 |
48 | ```js
49 | [...]
50 | # LoadModule unique_id_module modules/mod_unique_id.so
51 | [...]
52 | ```
53 |
54 | ---
55 |
56 | - Save and close the file.
57 |
58 | - Enable Apache service to start at boot:
59 |
60 | ```bash
61 | sudo systemctl enable httpd
62 | ```
63 |
64 | ---
65 |
66 | - Restart the Apache service:
67 |
68 | ```js
69 | sudo systemctl restart httpd
70 | ```
71 |
72 | ---
73 |
74 | - Verify the status of Apache:
75 |
76 | ```js
77 | sudo systemctl status httpd
78 | ```
79 |
80 | ---
81 |
82 | ###### Sample Output
83 |
84 | ```js
85 | ● httpd.service - Apache Web Server
86 | Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
87 | Active: active (running) since Thu 2021-06-10 08:12:43 IST; 49min ago
88 | Main PID: 595 (httpd)
89 | Tasks: 6 (limit: 9308)
90 | Memory: 56.4M
91 | CPU: 107ms
92 | CGroup: /system.slice/httpd.service
93 | ├─595 /usr/bin/httpd -k start -DFOREGROUND
94 | ├─775 /usr/bin/httpd -k start -DFOREGROUND
95 | ├─776 /usr/bin/httpd -k start -DFOREGROUND
96 | ├─777 /usr/bin/httpd -k start -DFOREGROUND
97 | ├─778 /usr/bin/httpd -k start -DFOREGROUND
98 | └─779 /usr/bin/httpd -k start -DFOREGROUND
99 |
100 | Jun 10 08:12:43 titan systemd[1]: Started Apache Web Server.
101 | Jun 10 08:12:50 titan httpd[595]: AH00112: Warning: DocumentRoot [/etc/httpd/docs/dummy-host.example.com] does not exist
102 | Jun 10 08:12:50 titan httpd[595]: AH00112: Warning: DocumentRoot [/etc/httpd/docs/dummy-host2.example.com] does not exist
103 | Jun 10 08:12:50 titan httpd[595]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress thi>
104 | ```
105 |
106 | ---
107 |
108 | - ##### Testing Apache
109 |
110 | - Let us create a sample page in the Apache root directory, i.e `/srv/http`.
111 |
112 | ```bash
113 | sudo nano /srv/http/index.html
114 | ```
115 |
116 | ---
117 |
118 | - Add the following lines:
119 |
120 | ```html
121 |
122 |
123 |
124 |
125 |
126 |
127 | Welcome
128 |
129 |
130 | Welcome to my Web Server test page
131 |
132 |
133 | ```
134 |
135 | ---
136 |
137 | - Now, open your web browser and navigate to `http://localhost`
138 |
139 | - You will be seeing the output of the HTML code that we typed above.
140 |
141 | ---
142 |
143 | #### Step 3: Install MariaDB
144 |
145 | - Run the following command to install MariaDB:
146 |
147 | ```js
148 | sudo pacman -S mysql
149 | ```
150 |
151 | ```
152 | :: There are 2 providers available for mysql:
153 | :: Repository extra
154 | 1) mariadb
155 | :: Repository community
156 | 2) percona-server
157 |
158 | Enter a number (default=1):
159 | ```
160 |
161 | - Press `Enter` key in the keyboard.
162 |
163 | ```js
164 | resolving dependencies...
165 | looking for conflicting packages...
166 |
167 | Packages (1) mariadb-10.5.10-1
168 |
169 | Total Installed Size: 235.54 MiB
170 |
171 | :: Proceed with installation? [Y/n]
172 | ```
173 |
174 | - Press `y` or `Y`.
175 |
176 | - And then it goes on to show an output something like the one below:
177 |
178 | ```js
179 | :: Proceed with installation? [Y/n] y
180 | (1/1) checking keys in keyring [---------------------] 100%
181 | (1/1) checking package integrity [---------------------] 100%
182 | (1/1) loading package files [---------------------] 100%
183 | (1/1) checking for file conflicts [---------------------] 100%
184 | (1/1) checking available disk space [---------------------] 100%
185 | :: Processing package changes...
186 | (1/1) installing mariadb [---------------------] 100%
187 |
188 | :: You need to initialize the MariaDB data directory prior to starting
189 | the service. This can be done with mariadb-install-db command, e.g.:
190 | mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
191 | Optional dependencies for mariadb
192 | cracklib: for cracklib plugin [installed]
193 | curl: for ha_s3 plugin [installed]
194 | galera: for MariaDB cluster with Galera WSREP
195 | python-mysqlclient: for myrocks_hotbackup
196 | perl-dbd-mariadb: for mariadb-hotcopy, mariadb-convert-table-format and mariadb-setpermission
197 | :: Running post-transaction hooks...
198 | ( 1/10) Syncing all file systems...
199 | ( 2/10) Creating system user accounts...
200 | ( 3/10) Reloading system manager configuration...
201 | ( 4/10) Creating temporary files...
202 | Failed to write file "/sys/module/pcie_aspm/parameters/policy": Operation not permitted
203 | error: command failed to execute correctly
204 | ( 5/10) Arming ConditionNeedsUpdate...
205 | ( 6/10) Foreign/AUR package notification
206 | snapd 2.51-1
207 | ( 7/10) Orphaned package notification...
208 | botan 2.18.1-1
209 | cmake 3.20.3-1
210 | electron 12.0.9-1
211 | go 2:1.16.5-1
212 | go-tools 4:0.1.2-1
213 | gtkspell3 3.0.10-2
214 | kfiredragonhelper 5.0.6-1
215 | libcurl-gnutls 7.77.0-1
216 | libzip 1.7.3-2
217 | lua51 5.1.5-9
218 | mujs 1.1.2-1
219 | oniguruma 6.9.7.1-1
220 | python-docutils 0.16-4
221 | python-flask-compress 1.8.0-1
222 | python-flask-gravatar 0.5.0-5
223 | python-flask-migrate 3.0.0-1
224 | python-flask-paranoid 0.2-6
225 | python-flask-security-too 4.0.1-1
226 | python-gssapi 1.6.12-2
227 | python-ldap3 2.9-1
228 | python-pexpect 4.8.0-3
229 | python-simplejson 3.17.2-4
230 | python-sqlparse 0.4.1-3
231 | python-sshtunnel 0.4.0-1
232 | qtkeychain-qt5 0.12.0-1
233 | ripgrep 12.1.1-1
234 | rnnoise 0.4.1-1
235 | stunnel 5.59-1
236 | swig 4.0.2-2
237 | wireplumber 0.3.96-1
238 | xosd 2.2.14-10
239 | ( 8/10) Checking for .pacnew and .pacsave files...
240 | .pac* files found:
241 | /etc/httpd/conf/httpd.conf.pacsave
242 | /etc/httpd/conf/extra/httpd-vhosts.conf.pacsave
243 | /etc/pacman.conf.pacnew
244 | /etc/pacman.d/mirrorlist.pacnew
245 | /etc/paru.conf.pacnew
246 | /etc/systemd/system.conf.pacnew
247 | /etc/systemd/user.conf.pacnew
248 | Please check and merge
249 | ( 9/10) Updating pkgfile database...
250 | (10/10) Syncing all file systems...
251 | ```
252 |
253 | ---
254 |
255 | - You need to initialize the MariaDB data directory prior to starting
256 | the service. This can be done with `mariadb-install-db` command:
257 |
258 | ```js
259 | sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
260 | ```
261 |
262 | ---
263 |
264 | - The above command will show an output similar to this:
265 |
266 | ```js
267 | Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
268 | OK
269 |
270 | To start mysqld at boot time you have to copy
271 | support-files/mysql.server to the right place for your system
272 |
273 |
274 | Two all-privilege accounts were created.
275 | One is root@localhost, it has no password, but you need to
276 | be system 'root' user to connect. Use, for example, sudo mysql
277 | The second is mysql@localhost, it has no password either, but
278 | you need to be the system 'mysql' user to connect.
279 | After connecting you can set the password, if you would need to be
280 | able to connect as any of these users with a password and without sudo
281 |
282 | See the MariaDB Knowledgebase at https://mariadb.com/kb or the
283 | MySQL manual for more instructions.
284 |
285 | You can start the MariaDB daemon with:
286 | cd '/usr' ; /usr/bin/mysqld_safe --datadir='/var/lib/mysql'
287 |
288 | You can test the MariaDB daemon with mysql-test-run.pl
289 | cd '/usr/mysql-test' ; perl mysql-test-run.pl
290 |
291 | Please report any problems at https://mariadb.org/jira
292 |
293 | The latest information about MariaDB is available at https://mariadb.org/.
294 | You can find additional information about the MySQL part at:
295 | https://dev.mysql.com
296 | Consider joining MariaDB's strong and vibrant community:
297 | https://mariadb.org/get-involved/
298 | ```
299 |
300 | ---
301 |
302 | - Enable MySQL service to start at boot:
303 |
304 | ```bash
305 | sudo systemctl enable mysqld
306 | ```
307 |
308 | ---
309 |
310 | - Start the MySQL service:
311 |
312 | ```js
313 | sudo systemctl start mysqld
314 | ```
315 |
316 | ---
317 |
318 | - You can verify whether MariaDB is running or not using command:
319 |
320 | ```js
321 | sudo systemctl status mysqld
322 | ```
323 |
324 | ---
325 |
326 | - The above command will show an output similar to this:
327 |
328 | ```js
329 | ● mariadb.service - MariaDB 10.5.10 database server
330 | Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
331 | Active: active (running) since Sat 2021-06-12 00:10:17 IST; 1min 17s ago
332 | Docs: man:mariadbd(8)
333 | https://mariadb.com/kb/en/library/systemd/
334 | Process: 345550 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
335 | Process: 345618 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited>
336 | Process: 345749 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
337 | Main PID: 345656 (mariadbd)
338 | Status: "Taking your SQL requests now..."
339 | Tasks: 8 (limit: 9308)
340 | Memory: 68.8M
341 | CPU: 182ms
342 | CGroup: /system.slice/mariadb.service
343 | └─345656 /usr/bin/mariadbd
344 |
345 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
346 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: 10.5.10 started; log sequence number 45106; transaction id 20
347 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
348 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] InnoDB: Buffer pool(s) load completed at 210612 0:10:17
349 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] Server socket created on IP: '::'.
350 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] Reading of all Master_info entries succeeded
351 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] Added new Master_info '' to hash table
352 | Jun 12 00:10:17 titan mariadbd[345656]: 2021-06-12 0:10:17 0 [Note] /usr/bin/mariadbd: ready for connections.
353 | Jun 12 00:10:17 titan mariadbd[345656]: Version: '10.5.10-MariaDB' socket: '/run/mysqld/mysqld.sock' port: 3306 Arch Linux
354 | Jun 12 00:10:17 titan systemd[1]: Started MariaDB 10.5.10 database server.
355 | ```
356 |
357 | ---
358 |
359 | - ##### Setup MySQL/MariaDB root user password
360 |
361 | As you may know, it is recommended to setup a password for database root user.
362 |
363 | Run the following command to setup MariaDB root user password:
364 |
365 | ```js
366 | sudo mysql_secure_installation
367 | ```
368 |
369 | ---
370 |
371 | - The above command will result in something like this:
372 |
373 | ```js
374 | NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
375 | SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
376 |
377 | In order to log into MariaDB to secure it, we'll need the current
378 | password for the root user. If you've just installed MariaDB, and
379 | haven't set the root password yet, you should just press enter here.
380 |
381 | Enter current password for root (enter for none):
382 | ```
383 |
384 | - Like the above message in the terminal says: Press `Enter`.
385 |
386 | ```js
387 | OK, successfully used password, moving on...
388 |
389 | Setting the root password or using the unix_socket ensures that nobody
390 | can log into the MariaDB root user without the proper authorisation.
391 |
392 | You already have your root account protected, so you can safely answer 'n'.
393 |
394 | Switch to unix_socket authentication [Y/n]
395 | ```
396 |
397 | - Press `Enter`.
398 |
399 | ```js
400 | Enabled successfully!
401 | Reloading privilege tables..
402 | ... Success!
403 |
404 |
405 | You already have your root account protected, so you can safely answer 'n'.
406 |
407 | Change the root password? [Y/n]
408 | ```
409 |
410 | - Press `Enter`.
411 |
412 | ```js
413 | New password:
414 | ```
415 |
416 | - Enter a new password for the MySQL. You will be using this
417 | for the `phpMyAdmin` too. So, remember it.
418 |
419 | ```js
420 | Re-enter new password:
421 | ```
422 |
423 | - Re-enter the password that you have typed above.
424 |
425 | ```js
426 | Password updated successfully!
427 | Reloading privilege tables..
428 | ... Success!
429 |
430 |
431 | By default, a MariaDB installation has an anonymous user, allowing anyone
432 | to log into MariaDB without having to have a user account created for
433 | them. This is intended only for testing, and to make the installation
434 | go a bit smoother. You should remove them before moving into a
435 | production environment.
436 |
437 | Remove anonymous users? [Y/n]
438 | ```
439 |
440 | - Press `Enter`.
441 |
442 | ```js
443 | ... Success!
444 |
445 | Normally, root should only be allowed to connect from 'localhost'. This
446 | ensures that someone cannot guess at the root password from the network.
447 |
448 | Disallow root login remotely? [Y/n]
449 | ```
450 |
451 | - Press `Enter`.
452 |
453 | ```js
454 | ... Success!
455 |
456 | By default, MariaDB comes with a database named 'test' that anyone can
457 | access. This is also intended only for testing, and should be removed
458 | before moving into a production environment.
459 |
460 | Remove test database and access to it? [Y/n]
461 | ```
462 |
463 | - Press `Enter`.
464 |
465 | ```js
466 | - Dropping test database...
467 | ... Success!
468 | - Removing privileges on test database...
469 | ... Success!
470 |
471 | Reloading the privilege tables will ensure that all changes made so far
472 | will take effect immediately.
473 |
474 | Reload privilege tables now? [Y/n]
475 | ```
476 |
477 | - Press `Enter`.
478 |
479 | ```js
480 | ... Success!
481 |
482 | Cleaning up...
483 |
484 | All done! If you've completed all of the above steps, your MariaDB
485 | installation should now be secure.
486 |
487 | Thanks for using MariaDB!
488 | ```
489 |
490 | ---
491 |
492 | ### Step 4: Intalling PHP + PHP Extensions + phpMyAdmin
493 |
494 | - PHP
495 |
496 | ```js
497 | sudo pacman -S php php-apache
498 | ```
499 |
500 | ---
501 |
502 | - PHP Extensions
503 |
504 | ```js
505 | sudo pacman -S php-cgi php-fpm php-gd php-embed php-intl php-imap php-redis php-snmp
506 | ```
507 |
508 | ---
509 |
510 | - phpMyAdmin
511 |
512 | ```js
513 | sudo pacman -S phpmyadmin
514 | ```
515 |
516 | ---
517 |
518 | - Composer: PHP Package manager
519 |
520 | ```js
521 | sudo pacman -S composer
522 | ```
523 |
524 | ---
525 |
526 | - Now let us edit the configurations to make it all work.
527 |
528 | - After PHP is installed, we need to configure Apache PHP module.
529 | To do so, edit `/etc/httpd/conf/httpd.conf` file,
530 |
531 | ---
532 |
533 | ```js
534 | sudo nano /etc/httpd/conf/httpd.conf
535 | ```
536 |
537 | - Find the following line and comment it out:
538 |
539 | ```js
540 | [...]
541 | # LoadModule mpm_event_module modules/mod_mpm_event.so
542 | [...]
543 | ```
544 |
545 | - Uncomment or add the line:
546 |
547 | ```js
548 | LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
549 | ```
550 |
551 | - Then, add the following lines at the bottom for php8:
552 |
553 | ```js
554 | LoadModule php_module modules/libphp.so
555 | AddHandler php-script php
556 | Include conf/extra/php_module.conf
557 | ```
558 |
559 | - To Enable the rewrite module in `httpd.conf`
560 | uncomment / add this line:
561 |
562 | ```js
563 | LoadModule rewrite_module modules/mod_rewrite.so
564 | ```
565 |
566 | - Find the config that starts like ``.
567 | - In that config, make the changes like this:
568 |
569 | ```java
570 | AllowOverride All
571 | ```
572 |
573 | 
574 |
575 | - Save and close the file.
576 |
577 | - Restart the `httpd` service
578 |
579 | ```js
580 | sudo systemctl restart httpd
581 | ```
582 |
583 | ---
584 |
585 | - ###### Test PHP
586 |
587 | Now create a `test.php` file in the Apache root directory.
588 |
589 | ```js
590 | sudo nano /srv/http/test.php
591 | ```
592 |
593 | ---
594 |
595 | - Add the following lines:
596 |
597 | ```php
598 |
601 | ```
602 |
603 | - Restart the `httpd` service.
604 |
605 | ```js
606 | sudo systemctl restart httpd
607 | ```
608 |
609 | - Open up your web browser and navigate to `http://localhost/test.php`.
610 |
611 | ---
612 |
613 | - ##### Configuring phpMyAdmin
614 |
615 | - `phpMyAdmin` is a graphical MySQL/MariaDB administration tool
616 | that can be used to create, edit and delete databases.
617 |
618 | - Lets configure that. Edit `php.ini` file:
619 |
620 | ```js
621 | sudo nano /etc/php/php.ini
622 | ```
623 |
624 | - Make sure the following lines are uncommented.
625 |
626 | ```js
627 | [...]
628 | extension=bz2
629 | extension=gd
630 | extension=iconv
631 | extension=mysqli
632 | extension=pdo_mysql
633 | [...]
634 | ```
635 |
636 | - Save and close the file.
637 |
638 | ---
639 |
640 | - Next, create a configuration file for `phpMyAdmin`:
641 |
642 | ```js
643 | sudo nano /etc/httpd/conf/extra/phpmyadmin.conf
644 | ```
645 |
646 | - Add the following lines:
647 |
648 | ```xml
649 | Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
650 |
651 | DirectoryIndex index.php
652 | AllowOverride All
653 | Options FollowSymlinks
654 | Require all granted
655 |
656 | ```
657 |
658 | ---
659 |
660 | - Then, open Apache configuration file:
661 |
662 | ```js
663 | sudo nano /etc/httpd/conf/httpd.conf
664 | ```
665 |
666 | - Add the following line at the end:
667 |
668 | ```nim
669 | Include conf/extra/phpmyadmin.conf
670 | ```
671 |
672 | - Save and close the file.
673 |
674 | - Restart the `httpd` service again.
675 |
676 | ```js
677 | sudo systemctl restart httpd
678 | ```
679 |
680 | ---
681 |
682 | - ##### Test phpMyAdmin
683 |
684 | - Open your browser and navigate to `http://localhost/phpmyadmin`.
685 |
686 | - You might see an error that says "The configuration file now needs
687 | a secret passphrase (blowfish_secret)" at the bottom of phpMyAdmin
688 | dashboard.
689 |
690 | - To get rid of this error, edit
691 | `/etc/webapps/phpmyadmin/config.inc.php` file.
692 |
693 | ```js
694 | sudo nano /etc/webapps/phpmyadmin/config.inc.php
695 | ```
696 |
697 | - Find the following line and specify bluefish secret passphrase:
698 |
699 | ```php
700 | $cfg['blowfish_secret'] = '`MyP@$S`';
701 | /*
702 | YOU MUST FILL IN THIS FOR COOKIE AUTH!
703 | Length of the passphrase: 32 Characters is preferred.
704 | /*
705 | ```
706 |
707 | - Save and close the file. Restart Apache service.
708 |
709 | ```
710 | sudo systemctl restart httpd
711 | ```
712 |
713 | - The error will be gone now.
714 |
715 | > That’s all for now. At this stage, you have a working
716 | > LAMP stack, and is ready to host your websites.
717 |
718 | ---
719 |
720 | ### Step 5: Virtual Hosting of Yii2 project
721 |
722 | - Open `httpd.conf` file.
723 |
724 | ```js
725 | sudo nano /etc/httpd/conf/httpd.conf
726 | ```
727 |
728 | - Uncomment the line that has the `httpd-vhosts.conf`
729 |
730 | ```js
731 | [...]
732 | # Virtual hosts
733 | Include conf/extra/httpd-vhosts.conf
734 | [...]
735 | ```
736 |
737 | - Restart the `httpd` service.
738 |
739 | ```js
740 | sudo systemctl restart httpd
741 | ```
742 |
743 | - Open the `httpd-vhosts.conf` file.
744 |
745 | ```js
746 | sudo nano /etc/httpd/conf/extra/httpd-vhosts.conf
747 | ```
748 |
749 | - Remove the default hosting configurations. It will look
750 | something like this:
751 |
752 | ```xml
753 |
754 | ServerAdmin webmaster@dummy-host.example.com
755 | DocumentRoot "/etc/httpd/docs/dummy-host.example.com"
756 | ServerName dummy-host.example.com
757 | ServerAlias www.dummy-host.example.com
758 | ErrorLog "/var/log/httpd/dummy-host.example.com-error_log"
759 | CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common
760 |
761 |
762 |
763 | ServerAdmin webmaster@dummy-host2.example.com
764 | DocumentRoot "/etc/httpd/docs/dummy-host2.example.com"
765 | ServerName dummy-host2.example.com
766 | ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"
767 | CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common
768 |
769 | ```
770 |
771 | ---
772 |
773 | - #### Setting up the First Virtual Host: localhost
774 |
775 | - Add these at the end of the `httpd-vhosts.conf` file.
776 | - We are adding these lines to allow us to run the normal PHP project/stuff.
777 |
778 | ```xml
779 |
780 | ServerName localhost
781 | DocumentRoot "/srv/http"
782 |
783 |
784 | # use mod_rewrite for pretty URL support
785 | RewriteEngine on
786 | # If a directory or a file exists, use the request directly
787 | RewriteCond %{REQUEST_FILENAME} !-f
788 | RewriteCond %{REQUEST_FILENAME} !-d
789 | # Otherwise forward the request to index.php
790 | RewriteRule . index.php
791 | # use index.php as index file
792 | DirectoryIndex index.php
793 | # ...other settings...
794 | # Apache 2.4
795 | Require all granted
796 |
797 | ## Apache 2.2
798 | # Order allow,deny
799 | # Allow from all
800 |
801 |
802 |
803 | ```
804 |
805 | ---
806 |
807 | - #### Setting up the Second Virtual Host
808 |
809 | - In Windows, we add the PHP stuff in the `xampp\htdocs` folder. In
810 | Arch Based distros, we add it in `/srv/http` directory.
811 |
812 | - Create a folder in that location with administrative permissions.
813 |
814 | ```js
815 | sudo mkdir myproject
816 | ```
817 |
818 | - Now change the permissions for that folder.
819 |
820 | ```js
821 | sudo chmod 777 -R myproject
822 | ```
823 |
824 | - Go inside that folder .
825 |
826 | ```js
827 | cd myproject
828 | ```
829 |
830 | - Clone the yii2 project from GitHub or any other source.
831 |
832 | - I prefer the SSH way, so I am cloning this way. If you are comfortable
833 | with the HTTPS way, feel free to do the same.
834 |
835 | ```js
836 | git clone git@github.com:KamalDGRT/yii2-portfolio.git
837 | ```
838 |
839 | - Now this will create a new folder inside `/srv/http/myproject/`.
840 |
841 | - So, we need to bring them all one step outside into the `myproject`.
842 |
843 | - This command will move all the normal files one step outside.
844 |
845 | ```js
846 | mv -vf yii2-portfolio/* .
847 | ```
848 |
849 | - This command will move the hidden files one step outside.
850 |
851 | ```js
852 | mv -vf yii2-portfolio/.* .
853 | ```
854 |
855 | - We now no longer the empty folder. So, lets remove that.
856 |
857 | ```js
858 | rmdir yii2-portfolio
859 | ```
860 |
861 | - Do the usual steps for setting up the Yii2 Project
862 |
863 | - Initialize it in either Production / Development mode
864 | - `composer update`
865 | - Change the database configuration in `common/config/main-local.php`
866 | - `php yii migrate`
867 |
868 | - Lets change permissions for the runtime folders.
869 |
870 | - Open the terminal at the root directory of the project and execute:
871 |
872 | ```js
873 | chmod 777 -R assets/
874 | ```
875 |
876 | ```js
877 | chmod 777 -R admin/assets/
878 | ```
879 |
880 | ```js
881 | chmod 777 -R frontend/runtime
882 | ```
883 |
884 | ```js
885 | chmod 777 -R backend/runtime
886 | ```
887 |
888 | ---
889 |
890 | - Now let's add the virtual host for the project in `httpd-vhosts.conf`.
891 |
892 | ```xml
893 |
894 | ServerName mynewyii2project.testing
895 | DocumentRoot "/srv/http/myproject"
896 |
897 |
898 | # use mod_rewrite for pretty URL support
899 | RewriteEngine on
900 | # If a directory or a file exists, use the request directly
901 | RewriteCond %{REQUEST_FILENAME} !-f
902 | RewriteCond %{REQUEST_FILENAME} !-d
903 | # Otherwise forward the request to index.php
904 | RewriteRule . index.php
905 | # use index.php as index file
906 | DirectoryIndex index.php
907 | # ...other settings...
908 | # Apache 2.4
909 | Require all granted
910 |
911 | ## Apache 2.2
912 | # Order allow,deny
913 | # Allow from all
914 |
915 |
916 |
917 | ```
918 |
919 | - Replace `mynewyii2project.testing` in `ServerName` with the URL that you would like
920 | to execute yii2 project.
921 |
922 | - Replace `myproject` with the project folder name.
923 |
924 | - Save and close the `httpd-vhosts.conf` file.
925 |
926 | ---
927 |
928 | - #### Adding the URL to hosts
929 |
930 | - Open `/etc/hosts` file and add your project URL.
931 |
932 | ```js
933 | sudo nano /etc/hosts
934 | ```
935 |
936 | - In that add this line below the line that has this IP: `127.0.1.1`:
937 |
938 | ```
939 | 127.0.1.1 mynewyii2project.testing
940 | ```
941 |
942 | - You can notice that it is the same URL that we gave in `httpd-vhosts.conf`.
943 |
944 | - So, yeah. It should be the same one in order to make the virtual host work.
945 |
946 | - Restart the `httpd` service.
947 |
948 | ```js
949 | sudo systemctl restart httpd
950 | ```
951 |
952 | ---
953 |
954 | - Now, open your web browser and navigate to `http://mynewyii2project.testing`
955 |
956 | - You will be seeing the output of the yii2 project code in that URL.
957 |
958 | ---
959 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SetupStuff
2 |
3 | This repository contains the instructions to install various tools that are helpful to a _developer_.
4 |
5 | By default, I will be installing these tools to one particular folder and I recommend you to do the same.
6 |
7 | You can name the folder as you wish it to be.
8 | In my view, a folder or file name with maximum 8 characters is always better.
9 | I am naming the _Installation Folder_ as _LEO_.
10 |
11 | So, in C drive, there is a folder with the name LEO.
12 |
13 | C:\LEO
14 |
15 |
16 |
17 | This is where all the installation will happen.
18 |
19 | ----
20 |
21 | Just a meme...
22 |
23 | 
24 |
--------------------------------------------------------------------------------
/Windows/Adding php and mysql to Path/README.md:
--------------------------------------------------------------------------------
1 | # Adding php and mysql to the path variable
2 |
3 | This step is done after installtion of XAMPP.
4 | In case you have not intalled XAMPP, click [here](https://github.com/KamalDGRT/SetupStuff/tree/master/XAMPP) for the installation steps.
5 |
6 | ### Step 1
7 |
8 | Open Start Menu and type `edit the system environment variables`.
9 | You will get something like this.
10 | Just click and open it.
11 |
12 | 
13 |
14 |
15 |
16 |
17 |
18 | ### Step 2
19 |
20 | You might get something like this :
21 |
22 | 
23 |
24 | Just click on _Evnvironment Variables..._
25 |
26 |
27 |
28 |
29 |
30 | ### Step 3
31 |
32 | Do you have _Path_ variable in the variables?
33 |
34 | #### Yes, I have _Path_ in the user variables
35 |
36 | _Click_ on _Path_ and _Click_ on _Edit.._
37 | Click _New_.
38 | Add this line.
39 |
40 | C:\LEO\xampp\php
41 |
42 | Like I told you before, I will be using the _LEO_ folder.
43 | Plus, this is where I installed the _XAMPP_.
44 | So, if you have installed it in a different folder, just change the path accordingly.
45 |
46 | Click _New.._ Again.
47 | Add this line.
48 |
49 | C:\LEO\xampp\mysql\bin
50 |
51 |
52 | After that, Click _OK_.
53 | Click _OK_ again.
54 | Click _OK_ once again.
55 |
56 | #### No, I do not have _Path_ in the user variables
57 |
58 | ##### Step 3.1
59 |
60 | So, if you do not have _Path_ in the user variables then the environmental variables menu must be something like this.
61 |
62 | 
63 |
64 |
65 |
66 | Click on _New..._
67 |
68 |
69 |
70 |
71 |
72 | ##### Step 3.2
73 |
74 | In the variable name, type _Path_.
75 |
76 | 
77 |
78 |
79 |
80 | In the variable value, add this line.
81 |
82 | C:\LEO\xampp\php
83 |
84 | 
85 |
86 | Click OK.
87 |
88 |
89 |
90 |
91 |
92 | ##### Step 3.3
93 |
94 | Click on _Path_.
95 |
96 | 
97 |
98 | Click on _Edit.._.
99 |
100 | 
101 |
102 | And in the variable value, add this line.
103 |
104 | C:\LEO\xampp\php; C:\LEO\xampp\mysql\bin;
105 |
106 | 
107 |
108 |
109 | If you have done it correctly, the next time you click edit, it should be like this :
110 |
111 | 
112 |
113 |
114 |
115 | Click OK.
116 |
117 |
118 |
119 | 
120 |
121 | Click OK.
122 |
123 | 
124 |
125 |
126 |
127 |
128 |
129 | ### Step 4
130 |
131 | To check if you have added the paths correctly, just open the command prompt and execute the following commands.
132 |
133 | php --version
134 |
135 |
136 |
137 | mysql --version
138 |
139 | 
140 |
141 |
142 |
--------------------------------------------------------------------------------
/Windows/Anaconda/README.md:
--------------------------------------------------------------------------------
1 | # Setting up Anaconda in a Windows PC
2 |
3 | The instructions here is for a Windows PC.
4 | For Linux and Mac, it will be added later.
5 |
6 | It would be better and preferrable if you install in a specific folder rather than the default path.
7 |
8 | Like I have mentioned before, I will installing it in the *LEO* folder.
9 |
10 | ### Step 1 - Download the Application
11 |
12 | #### Step 1.1
13 |
14 | Open the official Anaconda website from [here](https://www.anaconda.com/).
15 |
16 | Click on _Products_.
17 |
18 | #### Step 1.2
19 |
20 | You will be seeing something like this.
21 |
22 | Select _Individual Edition_.
23 |
24 | 
25 |
26 |
27 |
28 | #### Step 1.3
29 |
30 | Select _Download_.
31 |
32 | 
33 |
34 |
35 |
36 | #### Step 1.4
37 |
38 | Select the installer based on your system specification.
39 | I have a 64bit OS, so, I will be downloading _64-Bit Graphical Installer_.
40 |
41 | 
42 |
43 |
44 |
45 | #### Step 1.5
46 |
47 | Close the pop-up.
48 |
49 | 
50 |
51 |
52 |
53 | Based on your internet connection, it would take some time to download.
54 |
55 |
56 |
57 |
58 |
59 | ### Step 2 - Installing the Application
60 |
61 | #### Step 2.1
62 |
63 | Click on the downloaded file and you will be seeing something like this.
64 | Click _Next_.
65 |
66 | 
67 |
68 |
69 |
70 | #### Step 2.2
71 |
72 | Click on _I Agree_.
73 |
74 | 
75 |
76 |
77 |
78 | #### Step 2.3
79 |
80 | Since it's just me who will be using my system, I am selecting _Just Me_ option.
81 |
82 | Click _Next_.
83 |
84 | 
85 |
86 |
87 |
88 | #### Step 2.4
89 |
90 | By default, the path would be something like this.
91 |
92 | 
93 |
94 |
95 |
96 | I don't wanna install there.
97 | So, just like every installation, I will be installing it to _LEO_ folder.
98 |
99 | C:\LEO\Anaconda3
100 |
101 | Click _Next_.
102 |
103 | 
104 |
105 | #### Step 2.5
106 |
107 | It will say that it is not recommended to do it, but trust me, this is better.
108 | No matter what it says, it isn't that easy to Open Anaconda application from _Start_ menu.
109 | So, we will installing whatever we want using commands.
110 |
111 | Click _Intall_.
112 |
113 | 
114 |
115 |
116 |
117 | 
118 |
119 |
120 |
121 | Click _Next_.
122 |
123 | 
124 |
125 |
126 |
127 | Click _Next_.
128 |
129 | 
130 |
131 |
132 |
133 | I dont wanna know about _Annaconda Individual Edition_ and neither do I wanna _Learn more about Anaconda_. So, I am unselecting them all.
134 |
135 | Click _Finish_.
136 |
137 | 
138 |
139 |
140 |
141 |
142 |
143 | ### Step 3 - Verifying the Installation
144 |
145 | To check if the installation is done properly, open command prompt and type the following.
146 |
147 | conda -V
148 |
149 |
150 |
151 | You must be something similar to this.
152 |
153 | 
154 |
155 |
156 |
157 |
--------------------------------------------------------------------------------
/Windows/Android Studio/01 - Installation/README.md:
--------------------------------------------------------------------------------
1 | # Setting up Android Studio in a Windows PC
2 |
3 | The instructions here is for a Windows PC.
4 | For Linux and Mac, it will be added later.
5 |
6 | It would be better and preferrable if you install in a specific folder rather than the default path.
7 |
8 | Like I have mentioned before, I will installing it in the *LEO* folder.
9 |
10 |
11 | ### Step 1 - Download the Application
12 |
13 | Go to the download section of the offical Android website from [here](https://developer.android.com/studio).
14 |
15 |
16 | 
17 |
18 |
19 |
20 | Click on _Download Android Studio_.
21 |
22 | You will be seeing something like this.
23 |
24 | 
25 |
26 |
27 |
28 | Accept the terms and conditions.
29 | Then click on the _DOWNLOAD ANDROID STUDIO FOR WINDOWS_ button.
30 |
31 |
32 |
33 | ### Step 2 - Installation Begins
34 |
35 | 
36 |
37 |
38 |
39 | Click *Next*.
40 |
41 |
42 |
43 |
44 |
45 | ### Step 3 - Choosing Android Virtual Device
46 |
47 | If you are going to use your Android or iOS device, it is well and good.
48 | But sometimes, it is better to see the output on the laptop/desktop screen.
49 | Select _Android Virtual Device_ only if your lapotp/desktop can handle it.
50 |
51 | 
52 |
53 |
54 |
55 | Click *Next*.
56 |
57 |
58 |
59 |
60 |
61 | ### Step 4 - Changing the Installation Location
62 |
63 | By default, the installtion folder would be something like this.
64 |
65 | 
66 |
67 |
68 |
69 | Change it to make the installation happen in *LEO* folder.
70 |
71 | C:\LEO\Android\Android Studio
72 |
73 |
74 |
75 | 
76 |
77 |
78 |
79 | Click *Next*.
80 |
81 |
82 |
83 |
84 |
85 | ### Step 5 - Start Menu Folder Options
86 |
87 | I think, it would be better to have a folder in Start Menu.
88 | So, nothing to be changed here.
89 |
90 | 
91 |
92 |
93 |
94 | Click *Install* and begin the installation.
95 |
96 |
97 |
98 |
99 |
100 | ### Step 6 - Begin Installation
101 |
102 |
103 | 
104 |
105 |
106 |
107 | When you click on _Show details_, you will be seeing something like this.
108 |
109 | 
110 |
111 |
112 |
113 | And the installation has now installed Java JDK, Kotlin libraries, and many more.
114 |
115 | 
116 |
117 |
118 |
119 | Click *Next*.
120 |
121 |
122 |
123 |
124 |
125 | ### Step 7 - Installation Complete
126 |
127 | Click *Finish*.
128 |
129 | 
130 |
131 |
132 |
133 | No need to import anything because this is the first time we are installing Android Studio.
134 |
135 | 
136 |
137 |
138 |
139 | After this, Android Studio will start.
140 |
141 |
142 |
143 | 
144 |
145 |
146 |
147 |
148 |
149 | ### Step 8 - Android Setup Wizard
150 |
151 |
152 | #### 8.1
153 |
154 | Click *Next*.
155 |
156 | 
157 |
158 |
159 |
160 | #### 8.2
161 |
162 | Select *Custom*.
163 |
164 |
165 |
166 | 
167 |
168 |
169 |
170 | Click *Next*.
171 |
172 | #### 8.3
173 |
174 | If the installation went fine, this would be automatically filled.
175 |
176 | 
177 |
178 | If not, fill it up with this.
179 |
180 | C:\LEO\Android\Android Studio\jre
181 |
182 |
183 |
184 | Click *Next*.
185 |
186 |
187 |
188 | #### 8.4
189 |
190 | I prefer a dark theme. So, I am choosing *Dracula*.
191 |
192 | 
193 |
194 | Click *Next*.
195 |
196 |
197 |
198 | #### 8.5
199 |
200 | Change the Android SDK location to this.
201 |
202 | C:\LEO\Android\SDK
203 |
204 | 
205 |
206 | Browse and select.
207 | If there are no folders, then create it.
208 |
209 | Click *Next*.
210 |
211 |
212 |
213 | #### 8.6
214 |
215 | If you have a RAM of 8GB and above, just leave as it is.
216 | If not, decrease the RAM allocated.
217 |
218 | 
219 |
220 | Click *Next*.
221 |
222 |
223 |
224 | #### 8.7
225 |
226 | Verify the settings.
227 | Make sure you chose all the options the same way I have done.
228 |
229 | 
230 |
231 |
232 |
233 | 
234 |
235 |
236 | Click *Finish*.
237 |
238 |
239 |
240 |
241 |
242 | ### Step 9 - Installing the Android SDK
243 |
244 | The installation may take utpo 2 or 3 hours.
245 | It all depends on your internet connection and your system specifications.
246 |
247 | 
248 |
249 |
250 |
251 | 
252 |
253 |
254 |
255 | 
256 |
257 | Click *Finish*.
258 |
259 |
260 |
261 | Now the application will launch and present itself.
262 |
263 |
264 |
265 | 
266 |
267 |
268 |
--------------------------------------------------------------------------------
/Windows/Android Studio/02 - Adding Java and Kotlin to Path variable/README.md:
--------------------------------------------------------------------------------
1 | # Creating Necessary Path Variables
2 |
3 | ### Step 1
4 |
5 | Open Start Menu and type `edit the system environment variables`.
6 | You will get something like this.
7 | Just click and open it.
8 |
9 | 
10 |
11 |
12 |
13 |
14 |
15 | ### Step 2
16 |
17 | You might get something like this :
18 |
19 | 
20 |
21 | Just click on _Evnvironment Variables..._
22 |
23 |
24 |
25 |
26 |
27 | ### Step 3 - Adding ANDROID_HOME variable
28 |
29 | Under the `User variables` click `New....`.
30 |
31 | 
32 |
33 | It will show something like this:
34 |
35 | 
36 |
37 | For the variable name, give `ANDROID_HOME`.
38 |
39 | 
40 |
41 | For the variable value, give the path to the `Android SDK` which in our case is :
42 |
43 | ```
44 | C:\LEO\Android\SDK
45 | ```
46 |
47 | 
48 |
49 |
50 |
51 | Click `OK`.
52 |
53 |
54 |
55 | ### Step 4 - Adding JAVA_HOME variable
56 |
57 | Under the `User variables` click `New....`.
58 |
59 | 
60 |
61 | For the variable name, give `JAVA_HOME`.
62 | For the variable value, give the path to `Java Runtime Environment` ; which in our case is :
63 |
64 | ```
65 | C:\LEO\Android\Android Studio\jre
66 | ```
67 |
68 | 
69 |
70 |
71 |
72 | Click `OK`.
73 |
74 |
75 |
76 | ### Step 5 - Adding Java, Kotlin and some stuff to the Path variable
77 |
78 | _Click_ on _Path_ and _Click_ on _Edit.._
79 |
80 | 
81 |
82 | Click _New_.
83 |
84 | 
85 |
86 | Add this line.
87 |
88 | ```
89 | C:\LEO\Android\Android Studio\jre\bin
90 | ```
91 |
92 | 
93 |
94 | Click _New.._ Again.
95 | Add this line.
96 |
97 | ```
98 | C:\LEO\Android\SDK\platform-tools
99 | ```
100 |
101 | 
102 |
103 | Click _New.._ Again.
104 | Add this line.
105 |
106 | ```
107 | C:\LEO\Android\SDK\tools
108 | ```
109 |
110 | Click _New.._ Again.
111 | Add this line.
112 |
113 | ```
114 | C:\LEO\Android\Android Studio\plugins\Kotlin\kotlinc\bin
115 | ```
116 |
117 | 
118 |
119 |
120 |
121 | Click `OK`.
122 |
123 |
124 |
125 | 
126 |
127 | Click `OK`.
128 |
129 | 
130 |
131 |
132 |
133 | This is it. Now you have configured all the path variables for setting up app development using Java and Kotlin.
134 | We added Java and Kotlin to the `Path` variable because, we may want to learn, code and execute `Java` and `Kotlin` programs separately. At that time, these configurations will come handy!
135 |
--------------------------------------------------------------------------------
/Windows/Android Studio/03 - Offline Build/README.md:
--------------------------------------------------------------------------------
1 | # Offline Build for Gradle and Google Maven Depndencies
2 |
3 | Sometimes what happens is that your internet connection might be unstable or might not be there
4 | at all. So, to build applications even though the internet is down, you need to have all the files
5 | required to build it offline.
6 |
7 |
8 |
9 | Even though you have a good internet connection, the build process might take a lot of time. So,
10 | in order to make the development faster, just download all the offline components.
11 |
12 |
13 |
14 |
15 |
16 | ### Step 1 - Downloading the Offline Files
17 |
18 | Go to the download section of the offical Android website from [here](https://developer.android.com/studio).
19 |
20 | 
21 |
22 |
23 |
24 | Click on _DOWNLOAD OPTIONS_.
25 |
26 | 
27 |
28 |
29 |
30 | Click on _Android Gradle Plugin_.
31 |
32 | You will be seeing something like this.
33 |
34 | 
35 |
36 |
37 |
38 | Accept the terms and conditions.
39 | Then click on the _DOWNLOAD OFFLINE COMPONENTS FOR ANDROID GRADLE PLUGIN_ button.
40 | A file with the name _offline-android-gradle-plugin-preview.zip_ will get downloaded.
41 |
42 |
43 |
44 | Click on _Google Maven dependencies_.
45 |
46 | You will be seeing something like this.
47 |
48 | 
49 |
50 |
51 |
52 | Accept the terms and conditions.
53 | Then click on the _DOWNLOAD OFFLINE COMPONENTS FOR GOOGLE MAVEN DEPENDENCIES_ button.
54 | A file with the name _offline-gmaven-stable.zip_ will get downloaded.
55 |
56 |
57 |
58 | Based on your internet connection, it would take some time to download.
59 |
60 |
61 |
62 | 
63 |
64 |
65 |
66 | ### Step 2 - Placing the downloaded files in proper folders
67 |
68 | #### Step 2.1
69 |
70 | Open Command Prompt and type the following.
71 |
72 | set USER_HOME
73 |
74 | If you get a file path, then it is well and good.
75 | If not, type the following.
76 |
77 | set USERPROFILE
78 |
79 | 
80 |
81 |
82 |
83 | Now, copy the file path and open it in the File Explorer.
84 | So, I will be opening this location in my File Explorer.
85 |
86 | C:\Users\user
87 |
88 | 
89 |
90 |
91 |
92 | #### Step 2.2
93 |
94 | Inside the above mentioned path, there will be many folders.
95 | But the ones we are concerned about now are _.gradle_ and _.android_ .
96 |
97 | Now, copy the _offline-android-gradle-plugin-preview.zip_ to _.android_ folder.
98 | Right click on that .zip file and select _Extract Here_.
99 |
100 | 
101 |
102 |
103 |
104 | Now, a folder will present itslef in _.android_ folder.
105 |
106 | For me it is _android-gradle-plugin-3.5.0-beta01_.
107 | For you it may or may not be the same.
108 | It all depends on when you are installing it.
109 |
110 | 
111 |
112 |
113 |
114 | Now, rename that folder to _manual-offline-m2_ .
115 |
116 | So, in my case, I will be renaming _android-gradle-plugin-3.5.0-beta01_ to _manual-offline-m2_.
117 |
118 |
119 |
120 | 
121 |
122 |
123 |
124 | If you still have any doubts as to how the folder is arranged, click [here](dot_android.md) to see the directory structure of _.android_ folder.
125 |
126 |
127 |
128 | You may now delete the _offline-android-gradle-plugin-preview.zip_ file from _.android_ folder.
129 |
130 |
131 |
132 | ##### To update the offline components, proceed as follows:
133 |
134 |
135 |
136 | 1. Delete the content inside the manual-offline-m2/ directory.
137 | 2. Re-download the offline components.
138 | 3. Unzip the contents of the ZIP files you downloaded into the manual-offline-m2/ directory.
139 |
140 |
141 |
142 |
143 |
144 | ### Step 3 - Include offline components in your Gradle project
145 |
146 | To tell the Android build system to use the offline components you've downloaded and unzipped, you need to create a script, as described below. Keep in mind, you need to create and save this script only once, even after updating your offline components.
147 |
148 | #### Step 3.1
149 |
150 | Go to _.gradle_ folder.
151 | Create a folder with the name _init.d_.
152 | Inside that folder, create this file : _offline.gradle_
153 |
154 | #### Step 3.2
155 |
156 | Open that with any text editor of your choice and paste the following script inside of it.
157 |
158 | ```js
159 | def reposDir = new File(System.properties['user.home'], ".android/manual-offline-m2")
160 | def repos = new ArrayList()
161 | reposDir.eachDir {repos.add(it) }
162 | repos.sort()
163 |
164 | allprojects {
165 | buildscript {
166 | repositories {
167 | for (repo in repos) {
168 | maven {
169 | name = "injected_offline_${repo.name}"
170 | url = repo.toURI().toURL()
171 | }
172 | }
173 | }
174 | }
175 | repositories {
176 | for (repo in repos) {
177 | maven {
178 | name = "injected_offline_${repo.name}"
179 | url = repo.toURI().toURL()
180 | }
181 | }
182 | }
183 | }
184 | ```
185 |
186 | #### Step 3.3
187 |
188 | Save the _offline.gradle_ file.
189 |
190 | #### Step 3.4 (Totally Optional)
191 |
192 | If you’d like to verify that the offline components are working as intended, remove the online repositories from your project’s `build.gradle` files, as shown below. After you've confirmed that your project builds correctly without these repositories, you can put them back into your `build.gradle` files.
193 |
--------------------------------------------------------------------------------
/Windows/Android Studio/03 - Offline Build/dot_android.md:
--------------------------------------------------------------------------------
1 | # Directory structure of .android folder
2 |
3 | DIRECTORY STRUCTURE
4 | -------------------
5 |
6 | ```
7 | .android
8 | | adbkey
9 | | adbkey.pub
10 | | analytics.settings
11 | | build-cache.lock
12 | | debug.keystore
13 | | debug.keystore.lock
14 | | emu-last-feature-flags.protobuf
15 | | emu-update-last-check.ini
16 | | maps.key
17 | | modem-nv-ram-5554
18 | | Resultant.txt
19 | |
20 | +---avd
21 | | | Nexus_5X_API_27.ini
22 | | |
23 | | \---Nexus_5X_API_27.avd
24 | | | AVD.conf
25 | | | cache.img
26 | | | cache.img.qcow2
27 | | | config.ini
28 | | | emu-launch-params.txt
29 | | | emulator-user.ini
30 | | | encryptionkey.img
31 | | | encryptionkey.img.qcow2
32 | | | hardware-qemu.ini
33 | | | multiinstance.lock
34 | | | quickbootChoice.ini
35 | | | read-snapshot.txt
36 | | | sdcard.img
37 | | | sdcard.img.qcow2
38 | | | userdata-qemu.img
39 | | | userdata-qemu.img.qcow2
40 | | | userdata.img
41 | | | version_num.cache
42 | | |
43 | | +---data
44 | | | \---misc
45 | | | \---pstore
46 | | | pstore.bin
47 | | |
48 | | +---snapshots
49 | | | \---default_boot
50 | | | ram.img
51 | | | snapshot.pb
52 | | |
53 | | \---tmpAdbCmds
54 | | adbcommand2200bdcd-eedb-4fe2-86cc-e028e1ca68b1
55 | | adbcommandc3986bf6-3934-4523-83d2-79fc6a193162
56 | |
57 | +---breakpad
58 | +---build-cache
59 | | | 3.5.0.lock
60 | | |
61 | | \---3.5.0
62 | | .cache-eviction-marker
63 | | .cache-use-marker
64 | |
65 | +---cache
66 | | sdkbin-1_027553a3-sys-img2-1_xml
67 | | sdkbin-1_21774538-addon2-1_xml
68 | | sdkbin-1_48262a29-sys-img2-1_xml
69 | | sdkbin-1_53d0da2b-addon2-1_xml
70 | | sdkbin-1_6dabee33-sys-img2-1_xml
71 | | sdkbin-1_70436d91-sys-img2-1_xml
72 | | sdkbin-1_725a2f81-sys-img2-1_xml
73 | | sdkbin-1_754d6006-sys-img2-1_xml
74 | | sdkbin-1_b735609c-repository2-1_xml
75 | | sdkbin-1_d1bcd755-sys-img2-1_xml
76 | | sdkbin-1_d29da320-addons_list-3_xml
77 | | sdkbin-1_d79225ab-addon2-1_xml
78 | | sdkinf-1_027553a3-sys-img2-1_xml
79 | | sdkinf-1_21774538-addon2-1_xml
80 | | sdkinf-1_48262a29-sys-img2-1_xml
81 | | sdkinf-1_53d0da2b-addon2-1_xml
82 | | sdkinf-1_6dabee33-sys-img2-1_xml
83 | | sdkinf-1_70436d91-sys-img2-1_xml
84 | | sdkinf-1_725a2f81-sys-img2-1_xml
85 | | sdkinf-1_754d6006-sys-img2-1_xml
86 | | sdkinf-1_b735609c-repository2-1_xml
87 | | sdkinf-1_d1bcd755-sys-img2-1_xml
88 | | sdkinf-1_d29da320-addons_list-3_xml
89 | | sdkinf-1_d79225ab-addon2-1_xml
90 | |
91 | +---manual-offline-m2
92 | | | README
93 | | |
94 | | +---androidx
95 | | | \---databinding
96 | | | +---databinding-common
97 | | | | \---3.5.0-beta01
98 | | | | databinding-common-3.5.0-beta01-javadoc.jar
99 | | | | databinding-common-3.5.0-beta01-sources.jar
100 | | | | databinding-common-3.5.0-beta01.jar
101 | | | | databinding-common-3.5.0-beta01.pom
102 | | | |
103 | | | +---databinding-compiler
104 | | | | \---3.5.0-beta01
105 | | | | databinding-compiler-3.5.0-beta01-javadoc.jar
106 | | | | databinding-compiler-3.5.0-beta01-sources.jar
107 | | | | databinding-compiler-3.5.0-beta01.jar
108 | | | | databinding-compiler-3.5.0-beta01.pom
109 | | | |
110 | | | \---databinding-compiler-common
111 | | | \---3.5.0-beta01
112 | | | databinding-compiler-common-3.5.0-beta01-javadoc.jar
113 | | | databinding-compiler-common-3.5.0-beta01-sources.jar
114 | | | databinding-compiler-common-3.5.0-beta01.jar
115 | | | databinding-compiler-common-3.5.0-beta01.pom
116 | | |
117 | | +---com
118 | | | +---android
119 | | | | +---databinding
120 | | | | | \---baseLibrary
121 | | | | | \---3.5.0-beta01
122 | | | | | baseLibrary-3.5.0-beta01-javadoc.jar
123 | | | | | baseLibrary-3.5.0-beta01-sources.jar
124 | | | | | baseLibrary-3.5.0-beta01.jar
125 | | | | | baseLibrary-3.5.0-beta01.pom
126 | | | | |
127 | | | | +---java
128 | | | | | \---tools
129 | | | | | \---build
130 | | | | | +---java-lib-model
131 | | | | | | \---3.5.0-beta01
132 | | | | | | java-lib-model-3.5.0-beta01-javadoc.jar
133 | | | | | | java-lib-model-3.5.0-beta01-sources.jar
134 | | | | | | java-lib-model-3.5.0-beta01.jar
135 | | | | | | java-lib-model-3.5.0-beta01.pom
136 | | | | | |
137 | | | | | \---java-lib-model-builder
138 | | | | | \---3.5.0-beta01
139 | | | | | java-lib-model-builder-3.5.0-beta01-javadoc.jar
140 | | | | | java-lib-model-builder-3.5.0-beta01-sources.jar
141 | | | | | java-lib-model-builder-3.5.0-beta01.jar
142 | | | | | java-lib-model-builder-3.5.0-beta01.pom
143 | | | | |
144 | | | | \---tools
145 | | | | +---analytics-library
146 | | | | | +---crash
147 | | | | | | \---26.5.0-beta01
148 | | | | | | crash-26.5.0-beta01-javadoc.jar
149 | | | | | | crash-26.5.0-beta01-sources.jar
150 | | | | | | crash-26.5.0-beta01.jar
151 | | | | | | crash-26.5.0-beta01.pom
152 | | | | | |
153 | | | | | +---protos
154 | | | | | | \---26.5.0-beta01
155 | | | | | | protos-26.5.0-beta01-javadoc.jar
156 | | | | | | protos-26.5.0-beta01-sources.jar
157 | | | | | | protos-26.5.0-beta01.jar
158 | | | | | | protos-26.5.0-beta01.pom
159 | | | | | |
160 | | | | | +---shared
161 | | | | | | \---26.5.0-beta01
162 | | | | | | shared-26.5.0-beta01-javadoc.jar
163 | | | | | | shared-26.5.0-beta01-sources.jar
164 | | | | | | shared-26.5.0-beta01.jar
165 | | | | | | shared-26.5.0-beta01.pom
166 | | | | | |
167 | | | | | \---tracker
168 | | | | | \---26.5.0-beta01
169 | | | | | tracker-26.5.0-beta01-javadoc.jar
170 | | | | | tracker-26.5.0-beta01-sources.jar
171 | | | | | tracker-26.5.0-beta01.jar
172 | | | | | tracker-26.5.0-beta01.pom
173 | | | | |
174 | | | | +---annotations
175 | | | | | \---26.5.0-beta01
176 | | | | | annotations-26.5.0-beta01-javadoc.jar
177 | | | | | annotations-26.5.0-beta01-sources.jar
178 | | | | | annotations-26.5.0-beta01.jar
179 | | | | | annotations-26.5.0-beta01.pom
180 | | | | |
181 | | | | +---build
182 | | | | | +---aapt2
183 | | | | | | \---3.5.0-beta01-5435860
184 | | | | | | aapt2-3.5.0-beta01-5435860-linux.jar
185 | | | | | | aapt2-3.5.0-beta01-5435860-osx.jar
186 | | | | | | aapt2-3.5.0-beta01-5435860-windows.jar
187 | | | | | |
188 | | | | | +---aapt2-proto
189 | | | | | | \---0.4.0
190 | | | | | | aapt2-proto-0.4.0.jar
191 | | | | | | aapt2-proto-0.4.0.pom
192 | | | | | | NOTICE
193 | | | | | |
194 | | | | | +---apksig
195 | | | | | | \---3.5.0-beta01
196 | | | | | | apksig-3.5.0-beta01-javadoc.jar
197 | | | | | | apksig-3.5.0-beta01-sources.jar
198 | | | | | | apksig-3.5.0-beta01.jar
199 | | | | | | apksig-3.5.0-beta01.pom
200 | | | | | |
201 | | | | | +---apkzlib
202 | | | | | | \---3.5.0-beta01
203 | | | | | | apkzlib-3.5.0-beta01-javadoc.jar
204 | | | | | | apkzlib-3.5.0-beta01-sources.jar
205 | | | | | | apkzlib-3.5.0-beta01.jar
206 | | | | | | apkzlib-3.5.0-beta01.pom
207 | | | | | |
208 | | | | | +---builder
209 | | | | | | \---3.5.0-beta01
210 | | | | | | builder-3.5.0-beta01-javadoc.jar
211 | | | | | | builder-3.5.0-beta01-sources.jar
212 | | | | | | builder-3.5.0-beta01.jar
213 | | | | | | builder-3.5.0-beta01.pom
214 | | | | | |
215 | | | | | +---builder-model
216 | | | | | | \---3.5.0-beta01
217 | | | | | | builder-model-3.5.0-beta01-javadoc.jar
218 | | | | | | builder-model-3.5.0-beta01-sources.jar
219 | | | | | | builder-model-3.5.0-beta01.jar
220 | | | | | | builder-model-3.5.0-beta01.pom
221 | | | | | |
222 | | | | | +---builder-test-api
223 | | | | | | \---3.5.0-beta01
224 | | | | | | builder-test-api-3.5.0-beta01-javadoc.jar
225 | | | | | | builder-test-api-3.5.0-beta01-sources.jar
226 | | | | | | builder-test-api-3.5.0-beta01.jar
227 | | | | | | builder-test-api-3.5.0-beta01.pom
228 | | | | | |
229 | | | | | +---bundletool
230 | | | | | | \---0.9.0
231 | | | | | | bundletool-0.9.0.jar
232 | | | | | | bundletool-0.9.0.pom
233 | | | | | | NOTICE
234 | | | | | |
235 | | | | | +---gradle
236 | | | | | | \---3.5.0-beta01
237 | | | | | | gradle-3.5.0-beta01-javadoc.jar
238 | | | | | | gradle-3.5.0-beta01-sources.jar
239 | | | | | | gradle-3.5.0-beta01.jar
240 | | | | | | gradle-3.5.0-beta01.pom
241 | | | | | |
242 | | | | | +---gradle-api
243 | | | | | | \---3.5.0-beta01
244 | | | | | | gradle-api-3.5.0-beta01-javadoc.jar
245 | | | | | | gradle-api-3.5.0-beta01-sources.jar
246 | | | | | | gradle-api-3.5.0-beta01.jar
247 | | | | | | gradle-api-3.5.0-beta01.pom
248 | | | | | |
249 | | | | | +---jetifier
250 | | | | | | +---jetifier-core
251 | | | | | | | \---1.0.0-beta04
252 | | | | | | | jetifier-core-1.0.0-beta04.jar
253 | | | | | | | jetifier-core-1.0.0-beta04.pom
254 | | | | | | | NOTICE
255 | | | | | | |
256 | | | | | | \---jetifier-processor
257 | | | | | | \---1.0.0-beta04
258 | | | | | | jetifier-processor-1.0.0-beta04.jar
259 | | | | | | jetifier-processor-1.0.0-beta04.pom
260 | | | | | | NOTICE
261 | | | | | |
262 | | | | | +---manifest-merger
263 | | | | | | \---26.5.0-beta01
264 | | | | | | manifest-merger-26.5.0-beta01-javadoc.jar
265 | | | | | | manifest-merger-26.5.0-beta01-sources.jar
266 | | | | | | manifest-merger-26.5.0-beta01.jar
267 | | | | | | manifest-merger-26.5.0-beta01.pom
268 | | | | | |
269 | | | | | \---transform-api
270 | | | | | \---2.0.0-deprecated-use-gradle-api
271 | | | | | NOTICE
272 | | | | | transform-api-2.0.0-deprecated-use-gradle-api.jar
273 | | | | | transform-api-2.0.0-deprecated-use-gradle-api.pom
274 | | | | |
275 | | | | +---common
276 | | | | | \---26.5.0-beta01
277 | | | | | common-26.5.0-beta01-javadoc.jar
278 | | | | | common-26.5.0-beta01-sources.jar
279 | | | | | common-26.5.0-beta01.jar
280 | | | | | common-26.5.0-beta01.pom
281 | | | | |
282 | | | | +---ddms
283 | | | | | \---ddmlib
284 | | | | | \---26.5.0-beta01
285 | | | | | ddmlib-26.5.0-beta01-javadoc.jar
286 | | | | | ddmlib-26.5.0-beta01-sources.jar
287 | | | | | ddmlib-26.5.0-beta01.jar
288 | | | | | ddmlib-26.5.0-beta01.pom
289 | | | | |
290 | | | | +---dvlib
291 | | | | | \---26.5.0-beta01
292 | | | | | dvlib-26.5.0-beta01-javadoc.jar
293 | | | | | dvlib-26.5.0-beta01-sources.jar
294 | | | | | dvlib-26.5.0-beta01.jar
295 | | | | | dvlib-26.5.0-beta01.pom
296 | | | | |
297 | | | | +---external
298 | | | | | +---com-intellij
299 | | | | | | +---intellij-core
300 | | | | | | | \---26.5.0-beta01
301 | | | | | | | intellij-core-26.5.0-beta01-javadoc.jar
302 | | | | | | | intellij-core-26.5.0-beta01-sources.jar
303 | | | | | | | intellij-core-26.5.0-beta01.jar
304 | | | | | | | intellij-core-26.5.0-beta01.pom
305 | | | | | | |
306 | | | | | | \---kotlin-compiler
307 | | | | | | \---26.5.0-beta01
308 | | | | | | kotlin-compiler-26.5.0-beta01-javadoc.jar
309 | | | | | | kotlin-compiler-26.5.0-beta01-sources.jar
310 | | | | | | kotlin-compiler-26.5.0-beta01.jar
311 | | | | | | kotlin-compiler-26.5.0-beta01.pom
312 | | | | | |
313 | | | | | \---org-jetbrains
314 | | | | | \---uast
315 | | | | | \---26.5.0-beta01
316 | | | | | uast-26.5.0-beta01-javadoc.jar
317 | | | | | uast-26.5.0-beta01-sources.jar
318 | | | | | uast-26.5.0-beta01.jar
319 | | | | | uast-26.5.0-beta01.pom
320 | | | | |
321 | | | | +---layoutlib
322 | | | | | \---layoutlib-api
323 | | | | | \---26.5.0-beta01
324 | | | | | layoutlib-api-26.5.0-beta01-javadoc.jar
325 | | | | | layoutlib-api-26.5.0-beta01-sources.jar
326 | | | | | layoutlib-api-26.5.0-beta01.jar
327 | | | | | layoutlib-api-26.5.0-beta01.pom
328 | | | | |
329 | | | | +---lint
330 | | | | | +---lint
331 | | | | | | \---26.5.0-beta01
332 | | | | | | lint-26.5.0-beta01-javadoc.jar
333 | | | | | | lint-26.5.0-beta01-sources.jar
334 | | | | | | lint-26.5.0-beta01.jar
335 | | | | | | lint-26.5.0-beta01.pom
336 | | | | | |
337 | | | | | +---lint-api
338 | | | | | | \---26.5.0-beta01
339 | | | | | | lint-api-26.5.0-beta01-javadoc.jar
340 | | | | | | lint-api-26.5.0-beta01-sources.jar
341 | | | | | | lint-api-26.5.0-beta01.jar
342 | | | | | | lint-api-26.5.0-beta01.pom
343 | | | | | |
344 | | | | | +---lint-checks
345 | | | | | | \---26.5.0-beta01
346 | | | | | | lint-checks-26.5.0-beta01-javadoc.jar
347 | | | | | | lint-checks-26.5.0-beta01-sources.jar
348 | | | | | | lint-checks-26.5.0-beta01.jar
349 | | | | | | lint-checks-26.5.0-beta01.pom
350 | | | | | |
351 | | | | | +---lint-gradle
352 | | | | | | \---26.5.0-beta01
353 | | | | | | lint-gradle-26.5.0-beta01-javadoc.jar
354 | | | | | | lint-gradle-26.5.0-beta01-sources.jar
355 | | | | | | lint-gradle-26.5.0-beta01.jar
356 | | | | | | lint-gradle-26.5.0-beta01.pom
357 | | | | | |
358 | | | | | \---lint-gradle-api
359 | | | | | \---26.5.0-beta01
360 | | | | | lint-gradle-api-26.5.0-beta01-javadoc.jar
361 | | | | | lint-gradle-api-26.5.0-beta01-sources.jar
362 | | | | | lint-gradle-api-26.5.0-beta01.jar
363 | | | | | lint-gradle-api-26.5.0-beta01.pom
364 | | | | |
365 | | | | +---repository
366 | | | | | \---26.5.0-beta01
367 | | | | | repository-26.5.0-beta01-javadoc.jar
368 | | | | | repository-26.5.0-beta01-sources.jar
369 | | | | | repository-26.5.0-beta01.jar
370 | | | | | repository-26.5.0-beta01.pom
371 | | | | |
372 | | | | +---sdk-common
373 | | | | | \---26.5.0-beta01
374 | | | | | sdk-common-26.5.0-beta01-javadoc.jar
375 | | | | | sdk-common-26.5.0-beta01-sources.jar
376 | | | | | sdk-common-26.5.0-beta01.jar
377 | | | | | sdk-common-26.5.0-beta01.pom
378 | | | | |
379 | | | | \---sdklib
380 | | | | \---26.5.0-beta01
381 | | | | sdklib-26.5.0-beta01-javadoc.jar
382 | | | | sdklib-26.5.0-beta01-sources.jar
383 | | | | sdklib-26.5.0-beta01.jar
384 | | | | sdklib-26.5.0-beta01.pom
385 | | | |
386 | | | +---google
387 | | | | +---auto
388 | | | | | +---auto-parent
389 | | | | | | \---3
390 | | | | | | auto-parent-3.pom
391 | | | | | |
392 | | | | | \---value
393 | | | | | \---auto-value
394 | | | | | \---1.5.2
395 | | | | | auto-value-1.5.2.jar
396 | | | | | auto-value-1.5.2.pom
397 | | | | | NOTICE
398 | | | | |
399 | | | | +---code
400 | | | | | +---findbugs
401 | | | | | | \---jsr305
402 | | | | | | \---3.0.2
403 | | | | | | jsr305-3.0.2.jar
404 | | | | | | jsr305-3.0.2.pom
405 | | | | | | NOTICE
406 | | | | | |
407 | | | | | \---gson
408 | | | | | +---gson
409 | | | | | | \---2.8.0
410 | | | | | | gson-2.8.0.jar
411 | | | | | | gson-2.8.0.pom
412 | | | | | | NOTICE
413 | | | | | |
414 | | | | | \---gson-parent
415 | | | | | \---2.8.0
416 | | | | | gson-parent-2.8.0.pom
417 | | | | |
418 | | | | +---errorprone
419 | | | | | +---error_prone_annotations
420 | | | | | | +---2.2.0
421 | | | | | | | error_prone_annotations-2.2.0.jar
422 | | | | | | | error_prone_annotations-2.2.0.pom
423 | | | | | | | NOTICE
424 | | | | | | |
425 | | | | | | \---2.3.1
426 | | | | | | error_prone_annotations-2.3.1.jar
427 | | | | | | error_prone_annotations-2.3.1.pom
428 | | | | | | NOTICE
429 | | | | | |
430 | | | | | \---error_prone_parent
431 | | | | | +---2.2.0
432 | | | | | | error_prone_parent-2.2.0.pom
433 | | | | | |
434 | | | | | \---2.3.1
435 | | | | | error_prone_parent-2.3.1.pom
436 | | | | |
437 | | | | +---google
438 | | | | | \---1
439 | | | | | google-1.pom
440 | | | | |
441 | | | | +---guava
442 | | | | | +---failureaccess
443 | | | | | | \---1.0.1
444 | | | | | | failureaccess-1.0.1.jar
445 | | | | | | failureaccess-1.0.1.pom
446 | | | | | | NOTICE
447 | | | | | |
448 | | | | | +---guava
449 | | | | | | \---27.0.1-jre
450 | | | | | | guava-27.0.1-jre.jar
451 | | | | | | guava-27.0.1-jre.pom
452 | | | | | | NOTICE
453 | | | | | |
454 | | | | | +---guava-parent
455 | | | | | | +---26.0-android
456 | | | | | | | guava-parent-26.0-android.pom
457 | | | | | | |
458 | | | | | | \---27.0.1-jre
459 | | | | | | guava-parent-27.0.1-jre.pom
460 | | | | | |
461 | | | | | \---listenablefuture
462 | | | | | \---9999.0-empty-to-avoid-conflict-with-guava
463 | | | | | listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
464 | | | | | listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.pom
465 | | | | | NOTICE
466 | | | | |
467 | | | | +---j2objc
468 | | | | | \---j2objc-annotations
469 | | | | | \---1.1
470 | | | | | j2objc-annotations-1.1.jar
471 | | | | | j2objc-annotations-1.1.pom
472 | | | | | NOTICE
473 | | | | |
474 | | | | +---jimfs
475 | | | | | +---jimfs
476 | | | | | | \---1.1
477 | | | | | | jimfs-1.1.jar
478 | | | | | | jimfs-1.1.pom
479 | | | | | | NOTICE
480 | | | | | |
481 | | | | | \---jimfs-parent
482 | | | | | \---1.1
483 | | | | | jimfs-parent-1.1.pom
484 | | | | |
485 | | | | \---protobuf
486 | | | | +---protobuf-java
487 | | | | | \---3.4.0
488 | | | | | NOTICE
489 | | | | | protobuf-java-3.4.0.jar
490 | | | | | protobuf-java-3.4.0.pom
491 | | | | |
492 | | | | +---protobuf-java-util
493 | | | | | \---3.4.0
494 | | | | | NOTICE
495 | | | | | protobuf-java-util-3.4.0.jar
496 | | | | | protobuf-java-util-3.4.0.pom
497 | | | | |
498 | | | | \---protobuf-parent
499 | | | | \---3.4.0
500 | | | | protobuf-parent-3.4.0.pom
501 | | | |
502 | | | +---googlecode
503 | | | | +---json-simple
504 | | | | | \---json-simple
505 | | | | | \---1.1
506 | | | | | json-simple-1.1.jar
507 | | | | | json-simple-1.1.pom
508 | | | | | NOTICE
509 | | | | |
510 | | | | \---juniversalchardet
511 | | | | \---juniversalchardet
512 | | | | \---1.0.3
513 | | | | juniversalchardet-1.0.3.jar
514 | | | | juniversalchardet-1.0.3.pom
515 | | | | NOTICE
516 | | | |
517 | | | +---squareup
518 | | | | +---javapoet
519 | | | | | \---1.8.0
520 | | | | | javapoet-1.8.0.jar
521 | | | | | javapoet-1.8.0.pom
522 | | | | | NOTICE
523 | | | | |
524 | | | | \---javawriter
525 | | | | \---2.5.0
526 | | | | javawriter-2.5.0.jar
527 | | | | javawriter-2.5.0.pom
528 | | | | NOTICE
529 | | | |
530 | | | \---sun
531 | | | +---activation
532 | | | | +---all
533 | | | | | \---1.2.0
534 | | | | | all-1.2.0.pom
535 | | | | |
536 | | | | \---javax.activation
537 | | | | \---1.2.0
538 | | | | javax.activation-1.2.0.jar
539 | | | | javax.activation-1.2.0.pom
540 | | | | NOTICE
541 | | | |
542 | | | +---istack
543 | | | | +---istack-commons
544 | | | | | \---2.21
545 | | | | | istack-commons-2.21.pom
546 | | | | |
547 | | | | \---istack-commons-runtime
548 | | | | \---2.21
549 | | | | istack-commons-runtime-2.21.jar
550 | | | | istack-commons-runtime-2.21.pom
551 | | | | NOTICE
552 | | | |
553 | | | \---xml
554 | | | +---bind
555 | | | | +---jaxb-bom-ext
556 | | | | | \---2.2.11
557 | | | | | jaxb-bom-ext-2.2.11.pom
558 | | | | |
559 | | | | \---mvn
560 | | | | +---jaxb-parent
561 | | | | | \---2.2.11
562 | | | | | jaxb-parent-2.2.11.pom
563 | | | | |
564 | | | | +---jaxb-runtime-parent
565 | | | | | \---2.2.11
566 | | | | | jaxb-runtime-parent-2.2.11.pom
567 | | | | |
568 | | | | \---jaxb-txw-parent
569 | | | | \---2.2.11
570 | | | | jaxb-txw-parent-2.2.11.pom
571 | | | |
572 | | | \---fastinfoset
573 | | | +---FastInfoset
574 | | | | \---1.2.13
575 | | | | FastInfoset-1.2.13.jar
576 | | | | FastInfoset-1.2.13.pom
577 | | | | NOTICE
578 | | | |
579 | | | \---fastinfoset-project
580 | | | \---1.2.13
581 | | | fastinfoset-project-1.2.13.pom
582 | | |
583 | | +---commons-codec
584 | | | \---commons-codec
585 | | | \---1.10
586 | | | commons-codec-1.10.jar
587 | | | commons-codec-1.10.pom
588 | | | NOTICE
589 | | |
590 | | +---commons-io
591 | | | \---commons-io
592 | | | \---2.4
593 | | | commons-io-2.4.jar
594 | | | commons-io-2.4.pom
595 | | | NOTICE
596 | | |
597 | | +---commons-logging
598 | | | \---commons-logging
599 | | | \---1.2
600 | | | commons-logging-1.2.jar
601 | | | commons-logging-1.2.pom
602 | | | NOTICE
603 | | |
604 | | +---it
605 | | | \---unimi
606 | | | \---dsi
607 | | | \---fastutil
608 | | | \---7.2.0
609 | | | fastutil-7.2.0.jar
610 | | | fastutil-7.2.0.pom
611 | | | NOTICE
612 | | |
613 | | +---javax
614 | | | +---inject
615 | | | | \---javax.inject
616 | | | | \---1
617 | | | | javax.inject-1.jar
618 | | | | javax.inject-1.pom
619 | | | | NOTICE
620 | | | |
621 | | | \---xml
622 | | | \---bind
623 | | | \---jaxb-api
624 | | | \---2.2.12-b140109.1041
625 | | | jaxb-api-2.2.12-b140109.1041.jar
626 | | | jaxb-api-2.2.12-b140109.1041.pom
627 | | | NOTICE
628 | | |
629 | | +---net
630 | | | +---java
631 | | | | \---jvnet-parent
632 | | | | +---1
633 | | | | | jvnet-parent-1.pom
634 | | | | |
635 | | | | +---3
636 | | | | | jvnet-parent-3.pom
637 | | | | |
638 | | | | \---4
639 | | | | jvnet-parent-4.pom
640 | | | |
641 | | | \---sf
642 | | | +---jopt-simple
643 | | | | \---jopt-simple
644 | | | | \---4.9
645 | | | | jopt-simple-4.9.jar
646 | | | | jopt-simple-4.9.pom
647 | | | | NOTICE
648 | | | |
649 | | | +---kxml
650 | | | | \---kxml2
651 | | | | \---2.3.0
652 | | | | kxml2-2.3.0.jar
653 | | | | kxml2-2.3.0.pom
654 | | | | NOTICE
655 | | | |
656 | | | \---proguard
657 | | | +---proguard-base
658 | | | | \---6.0.3
659 | | | | NOTICE
660 | | | | proguard-base-6.0.3.jar
661 | | | | proguard-base-6.0.3.pom
662 | | | |
663 | | | +---proguard-gradle
664 | | | | \---6.0.3
665 | | | | NOTICE
666 | | | | proguard-gradle-6.0.3.jar
667 | | | | proguard-gradle-6.0.3.pom
668 | | | |
669 | | | \---proguard-parent
670 | | | \---6.0.3
671 | | | proguard-parent-6.0.3.pom
672 | | |
673 | | \---org
674 | | +---antlr
675 | | | +---antlr4
676 | | | | \---4.5.3
677 | | | | antlr4-4.5.3.jar
678 | | | | antlr4-4.5.3.pom
679 | | | | NOTICE
680 | | | |
681 | | | \---antlr4-master
682 | | | \---4.5.3
683 | | | antlr4-master-4.5.3.pom
684 | | |
685 | | +---apache
686 | | | +---apache
687 | | | | +---13
688 | | | | | apache-13.pom
689 | | | | |
690 | | | | +---15
691 | | | | | apache-15.pom
692 | | | | |
693 | | | | +---16
694 | | | | | apache-16.pom
695 | | | | |
696 | | | | +---18
697 | | | | | apache-18.pom
698 | | | | |
699 | | | | \---9
700 | | | | apache-9.pom
701 | | | |
702 | | | +---commons
703 | | | | +---commons-compress
704 | | | | | \---1.12
705 | | | | | commons-compress-1.12.jar
706 | | | | | commons-compress-1.12.pom
707 | | | | | NOTICE
708 | | | | |
709 | | | | \---commons-parent
710 | | | | +---25
711 | | | | | commons-parent-25.pom
712 | | | | |
713 | | | | +---34
714 | | | | | commons-parent-34.pom
715 | | | | |
716 | | | | +---35
717 | | | | | commons-parent-35.pom
718 | | | | |
719 | | | | \---39
720 | | | | commons-parent-39.pom
721 | | | |
722 | | | \---httpcomponents
723 | | | +---httpclient
724 | | | | \---4.5.6
725 | | | | httpclient-4.5.6.jar
726 | | | | httpclient-4.5.6.pom
727 | | | | NOTICE
728 | | | |
729 | | | +---httpcomponents-client
730 | | | | \---4.5.6
731 | | | | httpcomponents-client-4.5.6.pom
732 | | | |
733 | | | +---httpcomponents-core
734 | | | | \---4.4.10
735 | | | | httpcomponents-core-4.4.10.pom
736 | | | |
737 | | | +---httpcomponents-parent
738 | | | | \---10
739 | | | | httpcomponents-parent-10.pom
740 | | | |
741 | | | +---httpcore
742 | | | | \---4.4.10
743 | | | | httpcore-4.4.10.jar
744 | | | | httpcore-4.4.10.pom
745 | | | | NOTICE
746 | | | |
747 | | | \---httpmime
748 | | | \---4.5.6
749 | | | httpmime-4.5.6.jar
750 | | | httpmime-4.5.6.pom
751 | | | NOTICE
752 | | |
753 | | +---bouncycastle
754 | | | +---bcpkix-jdk15on
755 | | | | \---1.56
756 | | | | bcpkix-jdk15on-1.56.jar
757 | | | | bcpkix-jdk15on-1.56.pom
758 | | | | NOTICE
759 | | | |
760 | | | \---bcprov-jdk15on
761 | | | \---1.56
762 | | | bcprov-jdk15on-1.56.jar
763 | | | bcprov-jdk15on-1.56.pom
764 | | | NOTICE
765 | | |
766 | | +---checkerframework
767 | | | \---checker-qual
768 | | | \---2.5.2
769 | | | checker-qual-2.5.2.jar
770 | | | checker-qual-2.5.2.pom
771 | | | NOTICE
772 | | |
773 | | +---codehaus
774 | | | +---groovy
775 | | | | \---groovy-all
776 | | | | \---2.4.15
777 | | | | groovy-all-2.4.15.jar
778 | | | | groovy-all-2.4.15.pom
779 | | | | NOTICE
780 | | | |
781 | | | \---mojo
782 | | | +---animal-sniffer-annotations
783 | | | | \---1.17
784 | | | | animal-sniffer-annotations-1.17.jar
785 | | | | animal-sniffer-annotations-1.17.pom
786 | | | | NOTICE
787 | | | |
788 | | | +---animal-sniffer-parent
789 | | | | \---1.17
790 | | | | animal-sniffer-parent-1.17.pom
791 | | | |
792 | | | \---mojo-parent
793 | | | \---40
794 | | | mojo-parent-40.pom
795 | | |
796 | | +---glassfish
797 | | | \---jaxb
798 | | | +---jaxb-bom
799 | | | | \---2.2.11
800 | | | | jaxb-bom-2.2.11.pom
801 | | | |
802 | | | +---jaxb-core
803 | | | | \---2.2.11
804 | | | | jaxb-core-2.2.11.jar
805 | | | | jaxb-core-2.2.11.pom
806 | | | | NOTICE
807 | | | |
808 | | | +---jaxb-runtime
809 | | | | \---2.2.11
810 | | | | jaxb-runtime-2.2.11.jar
811 | | | | jaxb-runtime-2.2.11.pom
812 | | | | NOTICE
813 | | | |
814 | | | \---txw2
815 | | | \---2.2.11
816 | | | NOTICE
817 | | | txw2-2.2.11.jar
818 | | | txw2-2.2.11.pom
819 | | |
820 | | +---jdom
821 | | | \---jdom2
822 | | | \---2.0.6
823 | | | jdom2-2.0.6.jar
824 | | | jdom2-2.0.6.pom
825 | | | NOTICE
826 | | |
827 | | +---jetbrains
828 | | | +---annotations
829 | | | | \---13.0
830 | | | | annotations-13.0.jar
831 | | | | annotations-13.0.pom
832 | | | | NOTICE
833 | | | |
834 | | | +---kotlin
835 | | | | +---kotlin-reflect
836 | | | | | \---1.3.31
837 | | | | | kotlin-reflect-1.3.31.jar
838 | | | | | kotlin-reflect-1.3.31.pom
839 | | | | | NOTICE
840 | | | | |
841 | | | | +---kotlin-stdlib
842 | | | | | \---1.3.31
843 | | | | | kotlin-stdlib-1.3.31.jar
844 | | | | | kotlin-stdlib-1.3.31.pom
845 | | | | | NOTICE
846 | | | | |
847 | | | | +---kotlin-stdlib-common
848 | | | | | \---1.3.31
849 | | | | | kotlin-stdlib-common-1.3.31.jar
850 | | | | | kotlin-stdlib-common-1.3.31.pom
851 | | | | | NOTICE
852 | | | | |
853 | | | | +---kotlin-stdlib-jdk7
854 | | | | | \---1.3.31
855 | | | | | kotlin-stdlib-jdk7-1.3.31.jar
856 | | | | | kotlin-stdlib-jdk7-1.3.31.pom
857 | | | | | NOTICE
858 | | | | |
859 | | | | \---kotlin-stdlib-jdk8
860 | | | | \---1.3.31
861 | | | | kotlin-stdlib-jdk8-1.3.31.jar
862 | | | | kotlin-stdlib-jdk8-1.3.31.pom
863 | | | | NOTICE
864 | | | |
865 | | | \---trove4j
866 | | | \---trove4j
867 | | | \---20160824
868 | | | NOTICE
869 | | | trove4j-20160824.jar
870 | | | trove4j-20160824.pom
871 | | |
872 | | +---jvnet
873 | | | \---staxex
874 | | | \---stax-ex
875 | | | \---1.7.7
876 | | | NOTICE
877 | | | stax-ex-1.7.7.jar
878 | | | stax-ex-1.7.7.pom
879 | | |
880 | | +---ow2
881 | | | +---asm
882 | | | | +---asm
883 | | | | | \---6.0
884 | | | | | asm-6.0.jar
885 | | | | | asm-6.0.pom
886 | | | | | NOTICE
887 | | | | |
888 | | | | +---asm-analysis
889 | | | | | \---6.0
890 | | | | | asm-analysis-6.0.jar
891 | | | | | asm-analysis-6.0.pom
892 | | | | | NOTICE
893 | | | | |
894 | | | | +---asm-commons
895 | | | | | \---6.0
896 | | | | | asm-commons-6.0.jar
897 | | | | | asm-commons-6.0.pom
898 | | | | | NOTICE
899 | | | | |
900 | | | | +---asm-parent
901 | | | | | \---6.0
902 | | | | | asm-parent-6.0.pom
903 | | | | |
904 | | | | +---asm-tree
905 | | | | | \---6.0
906 | | | | | asm-tree-6.0.jar
907 | | | | | asm-tree-6.0.pom
908 | | | | | NOTICE
909 | | | | |
910 | | | | \---asm-util
911 | | | | \---6.0
912 | | | | asm-util-6.0.jar
913 | | | | asm-util-6.0.pom
914 | | | | NOTICE
915 | | | |
916 | | | \---ow2
917 | | | \---1.3
918 | | | ow2-1.3.pom
919 | | |
920 | | \---sonatype
921 | | \---oss
922 | | \---oss-parent
923 | | +---7
924 | | | oss-parent-7.pom
925 | | |
926 | | \---9
927 | | oss-parent-9.pom
928 | |
929 | \---studio
930 | \---installer
931 | firstrun.data
932 | ```
933 |
--------------------------------------------------------------------------------
/Windows/Android Studio/README.md:
--------------------------------------------------------------------------------
1 | # Android Studio
2 |
3 | > When you want to learn something new, you need patience and time.
4 | > But for learning app development it takes a huge load of patience, time, internet and in some of the cases RAM.
5 | > All of it (in the case of App Development) begins with the installation of Android Studio.
6 | > You may or may not use this as an IDE.
7 | > But, the tools and the SDK is the soul of it.
8 | > If you get that part right, you are good to go for a smooth journey in app development.
9 | > So, let's get started with how to install **Android Studio.**
10 |
11 | If you have already done the following before installing *Android Studio*, **undo / uninstall / remove** it now. :
12 |
13 | - Installed Java JDK 8 or higher
14 | - Added the path to the *java* and *javac* in the above to the *Environment Variables*
15 | - Installed Kotlin binaries to execute Kotlin code.
16 | - Added Kotlin to the **Path** variable
17 |
18 |
19 |
20 | I am asking you to do it because, the Android Studio comes with the required Java and Kotlin libraries and binaries. So, there is no need to install the same again.
21 |
22 | - 1. [Install Android Studio](https://github.com/KamalDGRT/SetupStuff/tree/master/Android%20Studio/01%20-%20Installation)
23 | - 2. [Add *Java* and *Kotlin* to **Path** variable](https://github.com/KamalDGRT/SetupStuff/tree/master/Android%20Studio/02%20-%20Adding%20Java%20and%20Kotlin%20to%20Path%20variable)
24 | - 3. [Setting up for offline build](https://github.com/KamalDGRT/SetupStuff/tree/master/Android%20Studio/03%20-%20Offline%20Build) (Optional but recommended.)
25 |
26 | And this is it. You are now well equipped with the tools to build apps!
27 |
28 | > *Think Twice, Code Once*
29 |
--------------------------------------------------------------------------------
/Windows/Composer/README.md:
--------------------------------------------------------------------------------
1 | # Setup Composer for Windows
2 |
3 | Before installing Composer, just make sure you have added PHP to the path.
4 | If you haven't, click here to know more.
5 |
6 | ### Step 1
7 |
8 | Download Composer for Windows from the official website by clicking
9 | here.
10 |
11 |
12 |
13 | The installer will download composer for you and set up your _PATH_ environment variable so you can simply call composer from any directory.
14 |
15 | Download and run Composer-Setup.exe - it will install the latest composer version whenever it is executed.
16 |
17 |
18 |
19 | ### Step 2
20 |
21 | Like I have said before in the README of this repository, I will be installing stuff to a specific folder in C drive.
22 | So, in C drive, there is a folder with the name LEO.
23 |
24 | C:\LEO
25 |
26 |
27 |
28 |
29 |
30 | ### Step 3
31 |
32 | Click on the downloaded application.
33 |
34 | 
35 |
36 |
37 |
38 | Since, I am the only person who is going to use my PC, I will be installing it for all the users.
39 |
40 |
41 |
42 | ### Step 4
43 |
44 | 
45 |
46 | You might see a warning like this.
47 | This is just your PC trying to keep you safe.
48 | Just click _Yes_ or _Allow_, whatever is showing up on your PC.
49 |
50 |
51 |
52 | ### Step 4
53 |
54 | I am going to choose the Developer Mode.
55 |
56 | 
57 |
58 |
59 |
60 | Click _Next_.
61 |
62 |
63 |
64 | ### Step 5
65 |
66 | Change the location to
67 |
68 | C:\LEO\composer
69 |
70 | 
71 |
72 |
73 |
74 |
75 |
76 | ### Step 6
77 |
78 | If you have added PHP to path correctly, this option would be filled like this by default.
79 |
80 | 
81 |
82 |
83 |
84 | Click *Next*.
85 |
86 |
87 |
88 |
89 |
90 | 
91 |
92 |
93 |
94 |
95 |
96 | ### Step 7
97 |
98 | We are not going to use any proxy.
99 | So, just click _Next_ and proceed.
100 |
101 | 
102 |
103 |
104 |
105 |
106 |
107 | ### Step 8
108 |
109 | The setup is now ready to install _Composer_.
110 |
111 | 
112 |
113 |
114 | Click _Install_.
115 |
116 |
117 |
118 | 
119 |
120 |
121 |
122 |
123 |
124 | ### Step 9
125 |
126 | Click _Next_.
127 |
128 | 
129 |
130 |
131 |
132 |
133 |
134 | ### Step 10
135 |
136 | I don't want to view online documentation, so I am unselecting that option.
137 | Click _Finish_.
138 |
139 | 
140 |
141 |
142 |
143 | ### Step 11
144 |
145 | To check if the installation is done properly, open command prompt and type the following.
146 |
147 | composer --version
148 |
149 |
150 |
151 | You must be something similar to this.
152 |
153 | 
154 |
155 |
156 |
157 |
--------------------------------------------------------------------------------
/Windows/DB Browser for SQLite/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/DB Browser for SQLite/README.md
--------------------------------------------------------------------------------
/Windows/Dart/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Dart/README.md
--------------------------------------------------------------------------------
/Windows/Django/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Django/README.md
--------------------------------------------------------------------------------
/Windows/Flutter/README.md:
--------------------------------------------------------------------------------
1 | # Flutter Installation in Windows
2 |
3 | #### Note :
4 |
5 | If you have :
6 | - gone somewhere and installed it before
7 | - installed *Dart* separately
8 |
9 | uninstall it and remove all the files.
10 |
11 |
12 |
13 | ## Step 1 - Pre-requisites
14 |
15 | > Before proceeding with *Flutter* installation, make sure you have done the following list.
16 | > I am saying this because, I have installed it in this way and this has worked for me.
17 |
18 | - [x] Installed [Git](../Git/README.md)
19 | - [x] Installed [GitHub Desktop](../GitHub_Desktop/README.md) *(Optional)*
20 | - [x] Proper installation and setting up of [Android Studio](https://github.com/KamalDGRT/SetupStuff/tree/master/Android%20Studio)
21 | - [x] Installed [Microsoft Visual Studio Code](https://github.com/KamalDGRT/SetupStuff/blob/master/Microsoft%20Visual%20Studio%20Code/README.md) *(Optional but highly recommended)*
22 |
23 |
24 |
25 | ## Step 2 - Go to *Installation Folder*
26 |
27 | Like I have mentioned in the [README](https://github.com/KamalDGRT/SetupStuff/blob/master/README.md) of this repository, I will be installing *Flutter* in the *LEO* folder and I suggest you to do it in the same way.
28 |
29 | Go to the *LEO* folder in the *File Explorer*.
30 | Open *Command Prompt* at that folder location by typing *cmd* and pressing *Enter* in the **Address Bar** of *LEO* folder.
31 | Type out this following command to get the **stable** version of the *Flutter SDK* in that folder.
32 |
33 | git clone https://github.com/flutter/flutter.git -b stable
34 |
35 |
36 | You will be seeing something like this :
37 |
38 |
39 |
40 | 
41 |
42 |
43 |
44 | The *flutter* folder would look something like this :
45 |
46 | 
47 |
48 |
49 |
50 | ## Step 3 - Adding Flutter to the *Path* variable
51 |
52 | ### Step 3.1
53 |
54 | Open Start Menu and type `edit the system environment variables`.
55 | You will get something like this.
56 | Just click and open it.
57 |
58 | 
59 |
60 |
61 |
62 | ### Step 3.2
63 |
64 | You might get something like this :
65 |
66 | 
67 |
68 | Just click on _Evnvironment Variables..._
69 |
70 |
71 |
72 | ### Step 3.3
73 |
74 | _Click_ on _Path_ and _Click_ on _Edit.._
75 |
76 | 
77 |
78 |
79 | Click _New_.
80 |
81 | 
82 |
83 | Add this line.
84 |
85 | C:\LEO\flutter\bin
86 |
87 | 
88 |
89 | After that, Click _OK_.
90 |
91 | Click _OK_ again.
92 |
93 |
94 |
95 | 
96 |
97 |
98 |
99 | Click _OK_ once again.
100 |
101 | 
102 |
103 |
104 |
105 | ## Step 4 - Fetching the Dart SDK
106 |
107 | Open the *Command Prompt*.
108 |
109 | Type the following commands to check if *Java* and *Kotlin* exist in your Path Variable:
110 |
111 | java --version
112 |
113 |
114 |
115 | kotlinc -version
116 |
117 |
118 |
119 | kotlin -version
120 |
121 |
122 |
123 | Now run the *flutter doctor* command to get the Dart SDK.
124 |
125 | flutter doctor
126 |
127 |
128 |
129 | 
130 |
131 |
132 |
133 | Now, this will fetch the Dart SDK to your PC and place it somewhere inside *flutter* folder.
134 |
135 | 
136 |
137 |
138 |
139 | 
140 |
141 |
142 |
143 | When it's all done, you will be greeted with a screen like this:
144 |
145 | 
146 |
147 |
148 |
149 | ## Step 5 - Accpeting the Android Licences
150 |
151 | In the above image you can see that some weren't checked. Now, let's fix them all.
152 | First, let's fix the Android licenses checkbox.
153 |
154 |
155 | Run this command on the *Command Prompt*.
156 |
157 | flutter doctor --android-licenses
158 |
159 |
160 |
161 | After you run this command, there will be lots of description and it will prompt you to press 'y' to accept those Terms and Conditions. So, just go ahead and accept them all.
162 |
163 |
164 |
165 | ## Step 6 - Flutter and Dart Plugin in Android Studio
166 |
167 | The next checkbox to be fixed is the Flutter and Dart plugin in Android Studio.
168 |
169 | ### Step 6.1
170 |
171 | Open **Android Studio** and select ***Plugins*** which is there on the bottom-right corner.
172 | Click on *Plugins*.
173 |
174 |
175 | 
176 |
177 |
178 |
179 | ### Step 6.2 : Installing Dart Plugin
180 |
181 | Search *Dart* in the *Marketplace* tab.
182 | Install the plugin by *JetBrains* by clicking on *Install*.
183 |
184 | 
185 |
186 |
187 |
188 | It might ask for some persmmion to install. Just accept them.
189 | It might also ask you to Restart the IDE and I recommend you to do the same.
190 |
191 |
192 |
193 | ### Step 6.3 : Installing Flutter Plugin
194 |
195 | Open **Android Studio** and select ***Plugins*** which is there on the bottom-right corner.
196 | Click on *Plugins*.
197 |
198 |
199 | 
200 |
201 |
202 |
203 | Search *Flutter* in the *Marketplace* tab.
204 | Install the plugin by *flutter.dev* by clicking on *Install*.
205 |
206 | 
207 |
208 |
209 |
210 | It might ask for some persmmion to install. Just accept them.
211 |
212 | 
213 |
214 |
215 | It might ask you to Restart the IDE and I recommend you to do the same.
216 |
217 | 
218 |
219 |
220 |
221 | 
222 |
223 |
224 |
225 | ### Step 6.4 : Checking if everthing went fine
226 |
227 | Run the following command in *Command Prompt* to check the version of Flutter.
228 |
229 | flutter --version
230 |
231 |
232 | Now, run the following command to check if everything is fine with flutter.
233 |
234 | flutter doctor
235 |
236 |
237 |
238 | Now, except for the devices part, everything should be checked. Like this :
239 |
240 | 
241 |
242 |
243 |
244 | ## Step 7 - Adding Dart to path variable (Optional but recommended)
245 |
246 | After installing Flutter, you might want to use the Dart for normal coding purposes instead of just using it while building apps. So, for that, you will have to add Dart to the *Path* variable.
247 |
248 | ### Step 7.1
249 |
250 | Open Start Menu and type `edit the system environment variables`.
251 | You will get something like this.
252 | Just click and open it.
253 |
254 | 
255 |
256 |
257 |
258 | ### Step 7.2
259 |
260 | You might get something like this :
261 |
262 | 
263 |
264 | Just click on _Evnvironment Variables..._
265 |
266 |
267 |
268 | ### Step 7.3
269 |
270 | _Click_ on _Path_ and _Click_ on _Edit.._
271 |
272 | 
273 |
274 | Click _New_.
275 |
276 | 
277 |
278 | Add this line.
279 |
280 | C:\LEO\flutter\bin\cache\dart-sdk\bin
281 |
282 |
283 | Note: The path might vary based on where you've installed flutter. So, change it accordingly.
284 |
285 | 
286 |
287 | After that, Click _OK_.
288 |
289 | Click _OK_ again.
290 |
291 |
292 |
293 | 
294 |
295 |
296 |
297 | Click _OK_ once again.
298 |
299 | 
300 |
301 |
302 |
303 | ## Step 8 - Setting up devices for executing the apps
304 |
305 | There are 2 ways to setup devices for flutter.
306 |
307 | You can use the built-in AVD Manager in Android Studio.
308 | But when you do that, your CPU might be using a lot of RAM and might get heated up quickly.
309 | Again, it all depends on your system configuration and specification.
310 |
311 | Another way to add a device for flutter is to use an actual Android or iOS device.
312 | For Android devices, enable USB debugging in your device settings.
313 | If there's no such option, then you must enable the Developer Tools by clicking on the build tools 7 times.
314 | After that enable USB debugging and allow apps to be installed using ADB.
315 | When you connect your device after you enable these settings, it might show like allow this device to access your phone in your mobile device.
316 | Just click yes.
317 |
318 | And this is it, you may now go and start building *Flutter* applications.
319 |
--------------------------------------------------------------------------------
/Windows/Git/README.md:
--------------------------------------------------------------------------------
1 | # Setup Git for Windows
2 |
3 | ### Step 1
4 |
5 | Download Git for Windows from the official website by clicking
6 | here.
7 |
8 |
9 |
10 | ### Step 2
11 |
12 | If you do not have a specific folder for installations, then create a folder in C drive and name it anything you want.
13 | It is preferred if the maximum length of the folder is 8 characters.
14 | So, you will be installing it to the folder you just created and I am going to proceed with the folder that I have already created while installing XAMPP which is _LEO_.
15 |
16 |
17 | So, in C drive, there is a folder with the name LEO.
18 |
19 | C:\LEO
20 |
21 |
22 |
23 | ### Step 3
24 |
25 | Click on the downloaded application.
26 |
27 | 
28 |
29 | You might see a warning like this.
30 | This is just your PC trying to keep you safe.
31 | Just click _Yes_ or _Allow_, whatever is showing up on your PC.
32 |
33 |
34 |
35 | ### Step 4
36 |
37 | If you had done the following steps :
38 | - Installed Git.
39 | - Uninstalled Git.
40 | - Installing it again.
41 |
42 | Then, Only show new options would be _checked_ or _selected_, however you like to say it.
43 | It will look something like this :
44 |
45 | - [x] Only show new options
46 |
47 | Just unselect it.
48 | Click _Next_.
49 |
50 | 
51 |
52 |
53 |
54 | ### Step 5
55 |
56 | By default, it would be
57 |
58 | C:\Program Files\Git
59 |
60 | Change it to
61 |
62 | C:\LEO\Git
63 |
64 | 
65 |
66 |
67 |
68 | ### Step 6
69 |
70 | The default installation settings is fine; so leave it as it is.
71 | Just click _Next_.
72 |
73 | 
74 |
75 |
76 |
77 | ### Step 7
78 |
79 | If you want a Folder for Git in the Start Menu, just click Next.
80 | If you do not want it, then just select the checkbox `Dont create a Start Menu Folder`.
81 | My advice would be, just leave stuff as it is and just click _Next_.
82 |
83 | 
84 |
85 |
86 |
87 | ### Step 8
88 |
89 | Click _Next_.
90 |
91 | 
92 |
93 |
94 |
95 | ### Step 9
96 |
97 | The default recommended setting is good.
98 | So, just click _Next_.
99 |
100 | 
101 |
102 |
103 |
104 |
105 |
106 | ### Step 10
107 |
108 | The default recommended option is good.
109 | So, just click _Next_.
110 |
111 | 
112 |
113 |
114 |
115 | ### Step 11
116 |
117 | `Checkout Windows-style, commit Unix-style line endings` would be selected by default.
118 | So, just click _Next_.
119 |
120 | 
121 |
122 |
123 |
124 | ### Step 12
125 |
126 | The default recommended setting is good.
127 | So, just click _Next_.
128 |
129 | 
130 |
131 |
132 |
133 | ### Step 13
134 |
135 | The default recommended setting is good.
136 | So, just click _Next_.
137 |
138 | 
139 |
140 |
141 |
142 | ### Step 14
143 |
144 | The default recommended setting is good.
145 | So, just click _Next_.
146 |
147 | 
148 |
149 |
150 |
151 | ### Step 15
152 |
153 | Nope, we do not want to experiment new stuff because that stuff is not stable yet.
154 | So, just click _Install_.
155 |
156 | 
157 |
158 |
159 | And the installation begins.
160 |
161 | 
162 |
163 |
164 |
165 | ### Step 16
166 |
167 | Git is now installed.
168 | To check if it is installed, just Launch Git Bash.
169 |
170 | 
171 |
172 |
173 |
174 | You must be getting something similar to this.
175 |
176 | 
177 |
178 |
179 |
180 | You can also check it by right clicking inside a folder and you should be seeing an option like : `Open Git Bash here`.
181 |
182 |
183 |
--------------------------------------------------------------------------------
/Windows/GitHub_Desktop/README.md:
--------------------------------------------------------------------------------
1 | # Setting up GitHub Desktop
2 |
3 | This is a message from your system informing you that you are installing a new application.
4 |
5 | 
6 |
7 |
8 |
9 | 
10 |
11 |
12 |
13 | 
14 |
15 |
16 |
17 | 
18 |
19 |
20 |
21 | 
22 |
23 |
24 |
25 | 
26 |
27 |
28 |
29 | 
30 |
31 |
32 |
33 | 
34 |
35 |
36 |
37 | 
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Windows/Go/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Go/README.md
--------------------------------------------------------------------------------
/Windows/Kotlin/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Kotlin/README.md
--------------------------------------------------------------------------------
/Windows/Microsoft Visual Studio Code/Install_VS_Code_Extensions.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 | ECHO Installing Extensions for VS Code
3 |
4 | code --install-extension 2gua.rainbow-brackets ^
5 | code --install-extension oderwat.indent-rainbow ^
6 | code --install-extension BeardedBear.beardedicons ^
7 | code --install-extension dracula-theme.theme-dracula ^
8 | code --install-extension ElAnandKumar.el-vsc-product-icon-theme ^
9 | code --install-extension mechatroner.rainbow-csv ^
10 | code --install-extension mikestead.dotenv ^
11 | code --install-extension vincaslt.highlight-matching-tag ^
12 | code --install-extension esbenp.prettier-vscode ^
13 | code --install-extension formulahendry.auto-rename-tag ^
14 | code --install-extension foxundermoon.shell-format ^
15 | code --install-extension silvenon.mdx ^
16 | code --install-extension qwtel.sqlite-viewer ^
17 | code --install-extension tomoki1207.pdf ^
18 | code --install-extension ambar.bundle-size ^
19 | code --install-extension dsznajder.es7-react-js-snippets ^
20 | code --install-extension eg2.vscode-npm-script ^
21 | code --install-extension herrmannplatz.npm-dependency-links ^
22 | code --install-extension WallabyJs.quokka-vscode ^
23 | code --install-extension svelte.svelte-vscode ^
24 | code --install-extension ardenivanov.svelte-intellisense ^
25 | code --install-extension fivethree.vscode-svelte-snippets ^
26 | code --install-extension bmewburn.vscode-intelephense-client ^
27 | code --install-extension ms-python.python ^
28 | code --install-extension ms-python.vscode-pylance ^
29 | code --install-extension ms-toolsai.jupyter ^
30 | code --install-extension ms-vscode.cpptools
31 |
32 | PAUSE
33 |
--------------------------------------------------------------------------------
/Windows/Microsoft Visual Studio Code/README.md:
--------------------------------------------------------------------------------
1 | # Setting up Microsoft Visual Studio Code in a Windows PC
2 |
3 | The instructions here is for a Windows PC.
4 | For Linux and Mac, it will be added later.
5 |
6 | It would be better and preferrable if you install in a specific folder rather than the default path.
7 |
8 | Like I have mentioned before, I will installing it in the *LEO* folder.
9 |
10 |
11 | ### Step 1 - Download the Application
12 |
13 | Download the offical Microsoft Visual Studio Code from [here](https://code.visualstudio.com/download).
14 |
15 | Click the downloaded file.
16 |
17 | ### Step 2 - Accept the License Agreement
18 |
19 | 
20 |
21 |
22 |
23 | ### Step 3 - Change the Installation Location
24 |
25 | By default, it is gonna show something like this.
26 |
27 | 
28 |
29 | Like I said before, we won't be installing there.
30 | We will be doing it in the `LEO` folder; so, change the location.
31 |
32 | ```
33 | C:\LEO\Microsoft VS Code
34 | ```
35 |
36 | 
37 |
38 |
39 |
40 | ### Step 4 - Select Start Menu Folder
41 |
42 | I don't know about you. But I prefer to have my downloaded apps in the `Start` menu.
43 | Just click `Next >`.
44 |
45 | 
46 |
47 |
48 |
49 | ### Step 5 - Setup Additional Tasks
50 |
51 | I am gonna just select all the options here because I know it will help me later.
52 | After selecting all the checkboxes, Click `Next`.
53 |
54 | 
55 |
56 |
57 |
58 | Click `Install`.
59 |
60 | 
61 |
62 |
63 |
64 | 
65 |
66 |
67 |
68 | 
69 |
70 |
71 |
72 | ### Step 6 - Launch Microsoft Visual Studio Code
73 |
74 | The launch screen looks something like this:
75 |
76 | 
77 |
78 |
79 |
80 | ### Step 7 - Checking if it is installed properly
81 |
82 | Open any folder in File Explorer.
83 | Right click insde the folder.
84 | You should be able to see `Open with Code`.
85 |
86 | 
87 |
88 | Click on `Open with Code`.
89 | You can now see that particular folder opened in Visual Studio Code.
90 |
91 | 
92 |
93 |
94 |
--------------------------------------------------------------------------------
/Windows/Node.js/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Node.js/README.md
--------------------------------------------------------------------------------
/Windows/Sublime Text/README.md:
--------------------------------------------------------------------------------
1 | # Sublime Text Setup for Windows
2 |
3 | ### Step 1 - Downloading the Installer
4 |
5 | You can Download the latest installer from here.
6 |
7 | Select DOWNLOAD FOR WINDOWS.
8 |
9 | 
10 |
11 |
12 |
13 | ### Step 2 - Installing Sublime Text
14 |
15 | Open the installer and select Yes in the prompt.
16 |
17 | You'll see deafult the location.
18 |
19 | 
20 |
21 |
22 |
23 | ### Step 3 - Installing it to *Installation Folder*
24 |
25 | Create a Folder in C: if you haven't already.
26 |
27 | Like I have mentioned in the README.md of this repository, I will be installing it to the LEO folder.
28 |
29 | Click Next.
30 |
31 | 
32 |
33 |
34 |
35 | ### Step 4 - Adding Sublime Text to the File Explorer context menu
36 |
37 | Check the box because we would want to open the files using Sublime Text for any given file.
38 |
39 | Click Next.
40 |
41 | 
42 |
43 |
44 |
45 | ### Step 5 - Installation Begins
46 |
47 | Click Install.
48 |
49 | 
50 |
51 |
52 |
53 | ### Step 6 - Installation Ends
54 |
55 | Click Finish.
56 |
57 | 
58 |
59 | #### Now, you have successfully installed Sublime Text on your Windows PC.
60 |
--------------------------------------------------------------------------------
/Windows/XAMPP/README.md:
--------------------------------------------------------------------------------
1 | # Setup Instructions for XAMPP
2 |
3 |
4 | ## For Windows PC
5 |
6 | The instructions here is for a Windows PC.
7 | For Linux and Mac, it will be added later.
8 |
9 |
10 | It would be better and preferrable if you install in a specific folder rather than the default path of
11 | C:\xampp.
12 |
13 |
14 |
15 | ### Step 1
16 | Download the Xampp application from here : https://www.apachefriends.org/index.html
17 | The download size is around 150MB.
18 |
19 |
20 |
21 | ### Step 2
22 |
23 | Create a folder in C drive and name it anything you want.
24 | It is preferred if the maximum length of the folder is 8 characters.
25 | For example, I am going to name it LEO.
26 |
27 | So, in C drive, there is a folder with the name LEO.
28 |
29 | C:\LEO
30 |
31 |
32 |
33 | ### Step 3
34 |
35 | Click on the downloaded application.
36 |
37 | 
38 |
39 |
40 | You might see a warning like this. This was why I told you to create the folder.
41 | By creating our own folder, we need not worry about the permissions mentioned in that warning box.
42 | Now, click OK.
43 |
44 |
45 |
46 |
47 | ### Step 4
48 |
49 | Click Next.
50 |
51 | 
52 |
53 |
54 |
55 | ### Step 5
56 |
57 | Just leave all the stuff as it is and let us install everything that XAMPP can provide.
58 |
59 | 
60 |
61 |
62 |
63 | ### Step 6
64 |
65 | By default, it would be
66 |
67 | C:\xampp
68 |
69 | Change it to
70 |
71 | C:\LEO\xampp
72 |
73 | 
74 |
75 |
76 |
77 | ### Step 7
78 |
79 | If you want leave as it is, it is your choice.
80 | But, I don't want to know more about Bitnami.
81 | So, I am just unselecting it.
82 | Click Next.
83 |
84 | 
85 |
86 |
87 |
88 | ### Step 8
89 |
90 | Now, click Next.
91 | The installation will go on for 5 to 10 minutes depending on your system specifications.
92 |
93 | 
94 |
95 |
96 |
97 | ### Step 9
98 |
99 | Click Finish.
100 |
101 | 
102 |
103 |
104 |
105 | ### Step 10
106 |
107 | Select English.
108 |
109 | 
110 |
111 |
112 |
113 | ### Step 11
114 |
115 | And now the Control Panel is ready.
116 |
117 | 
118 |
119 |
120 |
121 | We will be mostly using the _Apache_ and _MySQL_ server.
122 |
123 |
124 |
125 | ### Step 12
126 |
127 | Start the Apache and MySQL servers.
128 | You might get some message boxes like these.
129 |
130 | 
131 |
132 |
133 |
134 | 
135 |
136 |
137 |
138 | Just click _Allow Acess_.
139 |
140 | Now, the _Apache_ and _MySQL_ servers are up and running.
141 |
142 | 
143 |
144 |
145 |
146 | ### Step 13
147 |
148 | Click on Admin of _Apache_ server.
149 | If all went fine, you should be seeing something like this:
150 |
151 | 
152 |
153 |
154 |
155 | ### Step 14
156 |
157 | Click on Admin of _MySQL_ server.
158 | You will something like this:
159 |
160 | 
161 |
162 |
163 |
164 | ### Note :
165 |
166 | If one or both the servers didn't start, it might be because the same port might be used by some other application like VMWare or any other SQL servers.
167 | Based on experience, my advice would be not to tamper with the existing XAMPP config files.
168 | So, change the port number of the other applications.
169 |
--------------------------------------------------------------------------------
/Windows/Yii2/Advanced Template/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Yii2/Advanced Template/README.md
--------------------------------------------------------------------------------
/Windows/Yii2/Basic Template/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Yii2/Basic Template/README.md
--------------------------------------------------------------------------------
/Windows/Yii2/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KamalDGRT/SetupStuff/d63275ca3bf68c330be109f59471d68b9acd9301/Windows/Yii2/README.md
--------------------------------------------------------------------------------