PROJECT STRUCTURE (AUTO IMAGE DOWNLOAD + MANUAL REPLACE) /var/www/arogant.org/public/ ├── index.php ├── download_images.php ├── upload.php ├── sw.js ├── manifest.json ├── offline.html └── images/ ================================================== index.php ================================================== AROGANT.ORG

Images Loaded Successfully

Replace Images Manually

================================================== download_images.php ================================================== "https://upload.wikimedia.org/wikipedia/commons/9/90/Hapus_Mango.jpg", "pineapple.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/c/cb/Pineapple_and_cross_section.jpg", "papaya.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/0/09/Papaya_cross_section_BNC.jpg", "dragonfruit.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/8/89/Pitaya_cross_section_ed2.jpg", "passionfruit.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/3/36/Passion_fruit_and_cross_section.jpg", "banana.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/8/8a/Banana-Single.jpg", "coconut.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/c/cb/Coconut_on_White.jpg", "kiwi.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/d/d3/Kiwi_aka.jpg", "guava.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/0/02/Guava_ID.jpg", "lychee.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/0/0f/Litchi_chinensis_fruits.JPG", "ocean.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/5/5e/Tropical_beach.jpg", "reef.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/3/3f/Coral_reef.jpg", "waves.jpg"=>"https://upload.wikimedia.org/wikipedia/commons/9/9e/Ocean_waves.jpg" ]; if(!is_dir("images")) mkdir("images",0755,true); foreach($source as $file=>$url){ if(!file_exists("images/$file")){ $data = file_get_contents($url); file_put_contents("images/$file", $data); } } header("Location: index.php"); exit(); ?> ================================================== upload.php (MANUAL REPLACEMENT) ================================================== Back"; exit(); } ?>

Replace Image

================================================== UBUNTU VPS SETUP (COPY-PASTE) ================================================== sudo apt update sudo apt install nginx php-fpm php-cli -y sudo mkdir -p /var/www/arogant.org/public sudo chown -R $USER:$USER /var/www/arogant.org # Enable PHP in nginx sudo nano /etc/nginx/sites-available/arogant.org Add inside server block: location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } sudo nginx -t sudo systemctl restart nginx ================================================== HOW IT WORKS ================================================== • On first visit → index.php checks images • If missing → auto downloads from source • Images stored permanently in /images/ • Admin can replace manually via upload.php ================================================== SECURITY RECOMMENDATION ================================================== Protect upload.php with password: sudo apt install apache2-utils -y sudo htpasswd -c /etc/nginx/.htpasswd admin Then in nginx config: location /upload.php { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; } Restart nginx: sudo systemctl restart nginx ================================================== RESULT ================================================== • Automatic image download • Permanent local storage • Manual replacement option • VPS production ready