- The sharing have custom expiry date.
- Only intended recipient(s) able to download or access it.
- Able to notify the recipient(s) via email.
- Able to track how many times the file(s) was downloaded.
- Able to track who is the sharer or uploader.
- And lastly, the ability to have logs for auditing purposes.
|
sudo apt install apache2 mariadb-server -y
|
sudo apt install imagemagick php libapache2-mod-php php-imagick php-common php-mysql php-gd php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-bcmath php-gmp unzip -y |
sudo nano /etc/php/8.1/apache2/php.ini
|
memory_limit = 512M upload_max_filesize = 10240M max_execution_time = 600 post_max_size = 512M date.timezone = Asia/Kuala_Lumpur |
sudo mysql_secure_installation |
Enter current password for root (enter for none): [PRESS ENTER] Set root password? [Y/n]: Y New password: [Key-In Password] Re-enter new password: [Repeat password] Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y |
sudo mysql -u root -p |
CREATE DATABASE projectsend; CREATE USER 'projectsenduser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON projectsend.* TO projectsenduser@localhost; FLUSH PRIVILEGES; QUIT; |
sudo wget -O projectsend.zip https://www.projectsend.org/download/614/ |
sudo unzip projectsend.zip -d /var/www/html/projectsend |
cd /var/www/html/projectsend/includes/ |
sudo cp sys.config.sample.php sys.config.php |
define('DB_DRIVER', 'mysql'); /** Database name */ define('DB_NAME', 'projectsend'); /** Database host (in most cases it's localhost) */ define('DB_HOST', 'localhost'); /** Database username (must be assigned to the database) */ define('DB_USER', 'projectsenduser'); /** Database password */ define('DB_PASSWORD', 'password'); /** Define a maximum size (in mb.) that is allowed on each file to be uploaded. define('MAX_FILESIZE',1024); |
sudo chown -R www-data:www-data /var/www/html/projectsend |
sudo chmod -R 775 /var/www/html/projectsend |
sudo chmod 644 /var/www/html/projectsend/includes/sys.config.php |
sudo nano /etc/apache2/sites-available/projectsend.conf |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName projectsend.demo.com.my ServerAlias www.projectsend.demo.com.my DocumentRoot /var/www/html/projectsend/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/projectsend/> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> |
sudo a2enmod rewrite |
sudo a2ensite projectsend.conf |
sudo systemctl restart apache2 |
http://projectsend.demo.com.my |
http://[IP Address] |
sudo ufw enable |
sudo ufw allow http |
sudo ufw allow https |
sudo apt install certbot python3-certbot-apache -y |
sudo certbot --apache |
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [Your Email Address] |
Please read the Terms of Service at https://letsencrypt.org/LE-SA-v1.3-September-21-2022.pdf. You must agree in order to register with ACME server. Do you agree? (Y)es/(N)0: Y |
Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot ? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support freedom. (Y)es/(N)o: N |
Which names would you like to activate for HTTPS for? ---------------------------------------------------------------------------------------------------------------- 1: projectsend.demo.com.my 2: www.projectsend.demo.com.my ---------------------------------------------------------------------------------------------------------------- Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): [Press Enter] |
sudo systemctl restart apache2 |