From d5747a8a5233a072e670762fd113b7603f08e95b Mon Sep 17 00:00:00 2001 From: Ghostie Date: Sun, 5 Jan 2025 19:32:30 -0500 Subject: [PATCH] updated readme --- README.md | 112 +++++++++++++++++++++- resources/views/partials/layout.blade.php | 2 +- 2 files changed, 110 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1f5c889..8c234f3 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ ### Built With -- ![Laravel](https://img.shields.io/badge/Laravel-v10-FF2D20?style=for-the-badge&logo=laravel&logoColor=white) +- ![Laravel](https://img.shields.io/badge/Laravel-v11-FF2D20?style=for-the-badge&logo=laravel&logoColor=white) - ![PHP](https://img.shields.io/badge/PHP-v8-777BB4?style=for-the-badge&logo=php&logoColor=white) - ![Redis](https://img.shields.io/badge/redis-%23DD0031.svg?style=for-the-badge&logo=redis&logoColor=white) @@ -56,11 +56,117 @@ OurSpace is meant to be easy to set up and run on your own server. Below are the ### Prerequisites -TODO: write this +To use OurSpace we need to have installed PHP 8.2 or later and Redis. We can install them in a Debian-based system with the following commands: + +```bash +sudo apt update +sudo apt install nginx mysql-server php php-fpm php-mbstring php-xml php-bcmath php-curl php-redis redis nginx zip unzip composer nodejs npm +``` + +Now, enable nginx, mysql and php-fom services: + +```bash +sudo systemctl enable --now nginx mysql php-fpm redis-server +``` + +Create a database for OurSpace: + +```bash +mysql +CREATE DATABASE ourspace; +CREATE USER 'ourspace_user'@'localhost' IDENTIFIED BY 'password'; +GRANT ALL ON ourspace.* TO 'ourspace_user'@'localhost'; +FLUSH PRIVILEGES; +EXIT; +``` ### Installation -TODO: Write this +Once you have all the required software installed and the database created, you can proceed to install OurSpace. First, clone the repository: + +```bash +cd /var/www/html +git clone https://github.com/0xd011f4ce/OurSpace +``` + +Now, edit the `.env` file with your database, redis, and mail credentials. You can copy the `.env.example` file to `.env` and edit it with your favourite text editor. + +Install all the dependencies: + +```bash +composer install +npm install +``` + +Now, create the key and run the migrations: + +```bash +php artisan key:generate +php artisan migrate +``` + +Build the styles: + +```bash +npm run build +``` + +Give the proper permissions: + +```bash +chown -R www-data:www-data /var/www/html/OurSpace +chmod -R 755 /var/www/html/OurSpace +``` + +Finally, create a virtual host for OurSpace. You can create a file in `/etc/nginx/sites-available/ourspace` with the following content: + +```nginx +server { + listen 80; + server_name ourspace.lat; + root /var/www/html/OurSpace/public; + + add_header X-Frame-Options "SAMEORIGIN"; + add_header X-XSS-Protection "1; mode=block"; + add_header X-Content-Type-Options "nosniff"; + + index index.html index.htm index.php; + + charset utf-8; + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location = /favicon.ico { access_log off; log_not_found off; } + location = /robots.txt { access_log off; log_not_found off; } + + error_page 404 /index.php; + + location ~ \.php$ { + fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; + include fastcgi_params; + } + + location ~ /\.(?!well-known).* { + deny all; + } +} +``` + +Enable the config: + +```bash +sudo ln -s /etc/nginx/sites-available/ourspace.conf /etc/nginx/sites-enabled/ +``` + +Restart nginx: + +```bash +sudo systemctl restart nginx +``` ## TODO: diff --git a/resources/views/partials/layout.blade.php b/resources/views/partials/layout.blade.php index 6d0d372..5b4f9af 100644 --- a/resources/views/partials/layout.blade.php +++ b/resources/views/partials/layout.blade.php @@ -8,7 +8,7 @@ - @vite(["/resources/css/app.css"]) + @vite(["resources/css/app.css"])