Skip to content

Latest commit

 

History

History
169 lines (125 loc) · 4.44 KB

setup-guide.md

File metadata and controls

169 lines (125 loc) · 4.44 KB

Setup Guide

pre requisites

scoop

scoop is a package manager for Windows. To install it use:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

see the official installation guide for more assistance

aria2 (optional)

aria2 is a download manager, it will make the next downloads faster but is not required. To install it use:

scoop install main/aria2

apache

if you have apache installed via xampp/wamp then you can use that. if not install it via:

scoop install main/apache

next, you will need to edit the httpd.conf file.

set the document root attributes to match

DocumentRoot "C:\Users\<USERNAME>\Documents\Tenant-landlord-system\htdocs"
<Directory "C:\Users\<USERNAME>\Documents\Tenant-landlord-system\htdocs">

make sure the AllowOverride is set under the directory config

AllowOverride All

to enable the .htaccess files to set permissions and redirects

php

if your using xampp then you can most likely skip this section, else install php using:

scoop install main/php

if you have apache installed via scoop you need to add the php handler for php files in the httpd.conf file

# path to where php is instlled
Define PHPROOT "C:\Users\<USERNAME>\scoop\apps\php\current"

# load the php apache module
LoadModule php_module "${PHPROOT}/php8apache2_4.dll"
# php.ini config file location
PHPIniDir "${PHPROOT}\php.ini"

# files ending in .php are handled by the php apache module
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

to enable the required extensions:

  1. go to ~/scoop/apps/php/current
  2. copy php.ini-development to php.ini
  3. uncomment:
    • mysqli
    • openssl
    • ldap

if you get errors with locating the DLL files for an extension try setting:

extension_dir = "C:\Users\<USERNAME>\scoop\apps\php\current\ext"

scoop has some official docs on how to set this up that is slightly simpler.

composer

composer is a project-level dependency manager for php

to install composer run:

scoop install main/composer

to use composer to install predis and the other dependencies navigate to the root of the git repo and run:

composer update

you should see a vendor folder appear in the root after the command is done

redis

redis is an in-memory key-value store.

to install it run

scoop install main/redis

to run the redis server open a new powershell window and type:

redis-server.exe

you can use tab auto complete as scoop adds a shim automatically.

to run redis cli, run:

redis-cli.exe

A useful command to list the contents of redis is

KEYS *

see the cheatsheet for more useful commands

python

to install python run

scoop install main/python

mysql/mariaDB

if you have a database installed already via something like xampp then you can use that.

scoop can install MariaDB or MySQL via:

scoop install main/mariadb
scoop install main/mysql

you only need one. I recommend MariaDB.

to setup the database go to the specific database setup guide

cloudflare tunnel (optional)

cloudflare tunnels allows you to test the project with a CDN and HTTPS

install cloudflared via:

scoop install main/cloudflared

run a cloudflare tunnel like

cloudflared.exe --url localhost:80

click the link displayed in the terminal, it will look like:

+--------------------------------------------------------------------------------------------+
|  Your quick Tunnel has been created! Visit it at (it may take some time to be reachable):  |
|  https://causing-eastern-determination-fog.trycloudflare.com                               |
+--------------------------------------------------------------------------------------------+