Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteiTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Install ProcessWire on an Ubuntu VPS by preparing Apache, PHP 8.x, a MySQL-compatible database, URL rewriting, and an image extension; creating a dedicated database user; placing the current ProcessWire master release in an Apache document root; and completing the browser installer. For a first deployment on one server, the ZIP package is usually the least complicated. Git is a better fit for source-controlled releases, while Composer is appropriate when the project already manages PHP dependencies that way.
The exact ProcessWire release changes over time. The download page showed master 3.0.259 and development 3.0.274 when this guide was prepared in 2026; select the current master release for production rather than copying those numbers blindly.
What the VPS must provide
ProcessWire is an Apache-oriented PHP application. Before uploading files, make sure the server meets these requirements:
- Ubuntu with sudo access: you need an account that can install packages, create a database, and edit Apache configuration.
- Apache: ProcessWire’s documented setup expects Apache-compatible behavior, including support for its root
.htaccessfile. - PHP 8.x: use the PHP version supported by your Ubuntu release and keep the command-line and Apache PHP versions aligned.
- PDO database support: the
pdo_mysqldriver is required for a MySQL or MariaDB connection. - MySQL 5.6 or newer, or an equivalent MariaDB release: create a separate database and user for this site.
- URL rewriting: Apache’s
mod_rewritemodule and permission for.htaccessoverrides are needed for normal ProcessWire URLs. - Image processing: enable PHP GD2 or ImageMagick. The PHP
mbstringextension is recommended. - A DNS name and network access: point the domain’s A or AAAA record at the VPS and allow HTTP and HTTPS through the VPS firewall and any provider firewall.
ProcessWire describes installation as capable of getting a site running in less than five minutes, but a production VPS also needs Apache configuration, permissions, TLS, backups, and routine operating-system maintenance.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
Choose the release channel and installation method
Use the master channel for production
Use the current master download for a public production site. Development builds can contain newer work that has not had the same production exposure, so reserve that channel for testing or a deliberate development workflow. The observed 2026 figures were master 3.0.259 and dev 3.0.274; verify the download page immediately before installing because these numbers are time-sensitive.
Compare ZIP, Git, and Composer
| Method | Initial deployment | Version control and reproducibility | Update workflow | Best fit |
|---|---|---|---|---|
| ZIP | Download, extract, and open the site URL; the fewest tools are required. | Reproducibility depends on retaining the exact archive and recording its version. | Download a new release, test it, and replace or migrate files according to your deployment process. | A straightforward single VPS or an operator who does not already use Composer. |
| Git | Clone the repository into the intended web root. | Commit or tag a specific revision and keep deployment history in source control. | Fetch and check out a reviewed revision, then apply the site’s deployment steps. | Source-controlled deployments and teams already using Git. |
| Composer | Run composer create-project processwire/processwire from the command line. |
Composer records the package version and dependency resolution in the project files. | Update through the project’s Composer workflow and test the resulting lockfile changes. | Projects that already organize PHP dependencies with Composer. |
All three are official installation approaches. None is universally best: choose the one your backup, review, and rollback process can reproduce.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Prepare Ubuntu over SSH
1. Log in and update the operating system
Use a sudo-capable account rather than running the application as root. Replace the host name with your VPS address:
ssh your-admin@example-server
Then apply current Ubuntu package metadata and updates:
sudo apt update
sudo apt upgrade
Reboot if the upgrade installs a kernel or other component that requests it, and reconnect over SSH before continuing.
2. Install Apache, PHP, and required extensions
Ubuntu package names vary between releases, so check the packages offered by the version you are running. A typical Apache/PHP installation is:
Free tools Windows power users keep installed
One-click scans. No signup required.
sudo apt install apache2 libapache2-mod-php php php-cli php-mysql php-mbstring php-gd php-xml php-zip unzip
If you prefer ImageMagick, install the PHP Imagick package supplied by your Ubuntu release instead of, or in addition to, GD:
sudo apt install imagemagick php-imagick
Do not assume a package name from another Ubuntu release will exist unchanged. Confirm the modules after installation:
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
php -v
php -m | grep -E 'PDO|pdo_mysql|mbstring|gd|imagick'
The output should show PDO and pdo_mysql, plus mbstring and either gd or imagick. Also check the PHP version Apache actually loads by creating a temporary, access-restricted diagnostic file or by reviewing Apache’s PHP configuration; remove any diagnostic file immediately after checking it.
3. Enable rewriting
Enable Apache’s rewrite module and reload the service:
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →sudo a2enmod rewrite
sudo systemctl reload apache2
Later, the virtual host must allow overrides for the ProcessWire directory. Enabling the module alone is not enough if Apache still ignores .htaccess.
Create the ProcessWire database
Use a database and login dedicated to this ProcessWire installation. A dedicated account limits the damage from a compromised application compared with reusing an administrator login.
1. Open the database console
sudo mysql
On installations configured for socket authentication, this command opens the local MySQL console without asking for a database password.
2. Create the database and least-privilege user
Choose a long, unique password and substitute it for REPLACE_WITH_A_LONG_RANDOM_PASSWORD. The following example uses a database name and user that identify the site:
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCREATE DATABASE processwire CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'processwire_app'@'localhost' IDENTIFIED BY 'REPLACE_WITH_A_LONG_RANDOM_PASSWORD';
GRANT ALL PRIVILEGES ON processwire.* TO 'processwire_app'@'localhost';
FLUSH PRIVILEGES;
EXIT;
The grant is scoped to the new database, not to every database on the server. Record the database name, user name, password, and host (localhost in this example); the browser installer will request them.
3. Verify the credentials before installing
A quick login test catches typographical errors before you reach the web installer:
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
mysql -u processwire_app -p processwire
Enter the password, run SELECT 1;, and exit. If the login fails, fix the user, host, or password now rather than changing ProcessWire configuration after installation.
Set up the Apache virtual host
1. Create a private web-root directory
Use a path outside a user’s home directory so Apache can access it predictably. This guide uses /var/www/processwire; substitute your own path consistently.
sudo mkdir -p /var/www/processwire
sudo chown -R $USER:$USER /var/www/processwire
The temporary ownership lets your deployment account extract or clone files. You will set the final ownership and writable directories after the installer has created the site configuration.
2. Write a site-specific virtual-host file
Create /etc/apache2/sites-available/processwire.conf with a text editor and replace example.com with the real DNS name:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/processwire
<Directory /var/www/processwire>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/processwire-error.log
CustomLog ${APACHE_LOG_DIR}/processwire-access.log combined
</VirtualHost>
AllowOverride All is important here because ProcessWire’s root .htaccess carries rewrite and security rules. If your organization prohibits broad overrides, translate the required directives into the virtual host instead, but do not leave Apache silently ignoring the file.
3. Enable the site and test Apache
sudo a2ensite processwire.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
apache2ctl configtest must report a successful syntax check. If it reports a line number, correct that file before browsing to the domain. Make sure the domain resolves to this VPS and that another enabled virtual host is not catching the request first.
Place ProcessWire in the document root
ZIP installation
Download the current master ZIP from ProcessWire’s official download page on a trusted workstation or directly on the VPS, then extract its contents into /var/www/processwire. Ensure that index.php, .htaccess, wire, site, and install.php are directly inside the document root, not one directory deeper because of an extra archive folder. If extraction created a nested directory, move the contents up before continuing.
Git installation
Install Git if necessary and clone the official repository into the empty web-root directory:
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
sudo apt install git
cd /var/www/processwire
git clone https://github.com/processwire/processwire.git .
For a production deployment, record the commit or tag you intend to run rather than relying on an unreviewed moving branch. Keep site-specific files and deployment instructions separate from changes made directly in the vendor tree.
Composer installation
Install Composer according to the version supported by your Ubuntu release, change to the intended parent directory, and run:
composer create-project processwire/processwire
Point the Apache DocumentRoot at the directory created by Composer. If your project has its own Composer file, preserve the resulting lockfile and use the same dependency workflow in staging and production.
Run the browser installer
- Open
http://example.com/in a browser after DNS and Apache are ready. If DNS is not propagated, use a temporary hosts-file entry or the VPS address only for setup, then test the real host name before issuing TLS certificates. - Select the site profile that matches the site you intend to build. Profiles determine the initial page tree and configuration; they do not replace your later content and access-control design.
- Enter the database host, database name, user, and password created earlier. For the example above, the host is
localhost, the database isprocesswire, and the user isprocesswire_app. - Create the administrator account with a unique password that is not used for SSH, the VPS provider, or email.
- Review the installer’s other settings, submit the form, and wait for it to create the site configuration and initial tables.
- Log in to the admin area and open both the home page and a nested page. Testing a nested URL before hardening exposes rewrite problems while you can still correct them easily.
If the installer reports missing modules, return to the PHP package step and check the module list for the PHP SAPI used by Apache, not just the command-line binary.
Clean up and set permissions after installation
Remove installer entry points
Once the installation succeeds, delete the root installer and the installation directory:
sudo rm -f /var/www/processwire/install.php
sudo rm -rf /var/www/processwire/site/install
Confirm that neither path is reachable over HTTP. Leaving installer files in a public document root creates an unnecessary reinstallation or information-disclosure risk.
Protect the database configuration
ProcessWire stores database credentials in /site/config.php. Its security guidance identifies this as the one file that must not be readable by unrelated users on the system, apart from the account administering the site and Apache. Keep the file owned by an appropriate administrative or web-server group and use the narrowest mode that still lets Apache read it.
ProcessWire documentation gives 755 for directories and 644 for files as a possible starting point when the server’s user model permits it, while explicitly warning against broad 777 or 666 permissions. Treat those values as a baseline, not a reason to make every directory writable. The web process should write only the asset and cache locations that the site actually needs.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Apply ownership deliberately
On a conventional Ubuntu Apache installation, the web process commonly runs as www-data, but verify your server’s configured user before changing ownership. One conservative pattern is to keep application files owned by a deployment account, grant Apache read access, and grant write access only to required asset or cache directories. If the installer needs to write site/config.php, temporarily grant that access, complete installation, then tighten it and test both page delivery and asset uploads.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →ps -o user,group,comm -C apache2
sudo find /var/www/processwire -type d -exec chmod 755 {} ;
sudo find /var/www/processwire -type f -exec chmod 644 {} ;
Review the result rather than applying these commands blindly. They are a starting point consistent with the documented baseline; they do not determine which site-specific directories must be writable.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Finish production hardening
- TLS: install a trusted certificate for the real host name, redirect HTTP to HTTPS, and test the admin login and asset URLs after the redirect.
- Firewall: allow only the services you operate, normally SSH plus HTTP and HTTPS, and restrict SSH by source address where practical.
- SSH: use key authentication, disable unnecessary accounts, and keep a tested recovery path before changing SSH policy.
- Updates: schedule Ubuntu, Apache, PHP, database, and ProcessWire updates; test upgrades on a non-production copy when the site is important.
- Backups: back up both the database and the entire
sitedirectory, store copies away from the VPS, and perform restoration tests rather than assuming a completed backup is usable. - Monitoring: watch disk space, memory, service availability, certificate expiry, Apache logs, and ProcessWire error logs.
A VPS provides an isolated environment suitable for production, but it does not perform these operational tasks for you. The operator remains responsible for updates, firewall and SSH policy, backups, TLS, and monitoring.
Diagnose common installation failures
Homepage works but internal URLs return 404
This almost always means Apache is serving index.php but not applying ProcessWire’s rewrite rules. Check the following in order:
- Confirm the root
.htaccessexists besideindex.php. - Confirm
sudo a2enmod rewritehas been run and Apache was reloaded. - Open the enabled virtual-host file and verify that the matching
<Directory>block usesAllowOverride All, or that equivalent rewrite directives were moved into the virtual host. - Check that the request is reaching the expected virtual host by reviewing its access log.
- If the site is installed in a subdirectory or unusual path, test the
RewriteBasesetting in the annotated.htaccessfile as ProcessWire’s guidance describes.
Do not replace the complete ProcessWire .htaccess with a generic WordPress example; its rules include application-specific behavior and security restrictions.
Recommended Free Tools
HTTP 500 appears after editing .htaccess
Read the site-specific Apache error log and undo the most recent change. A malformed directive, an unavailable module, or a directive forbidden in the current override context can all produce a 500 response. Test one change at a time, run sudo apache2ctl configtest when the change is in the virtual-host file, and keep a known-good copy of the original file.
The page is blank or shows an unexpected error
Temporarily enable appropriate ProcessWire debug reporting while access is restricted, reproduce the error, and inspect /site/assets/logs/errors.txt together with the Apache and PHP logs. Debug output can disclose paths, queries, and configuration details, so disable verbose debugging again before exposing the site publicly.
The installer reports permission errors
Check ownership and write access for site/assets and for site/config.php during the installation window. Verify the effective Apache user, correct the specific directory or file, reload the page, and then reduce permissions after setup. Do not solve a single denied write by applying 777 to the entire document root.
Database connection fails
- Confirm the database service is running and listening locally.
- Retest the exact user, password, database name, and host with the
mysqlclient. - Check that the account was created for
localhostif that is the host entered in the installer; MySQL treats host-qualified accounts as distinct users. - Verify that PHP’s
pdo_mysqlmodule is loaded by Apache.
Images cannot be resized or uploaded
Confirm that either GD or Imagick is loaded in the Apache PHP environment, then inspect write access to the relevant site/assets subdirectories and available disk space. A command-line php -m result alone is not conclusive if Apache uses a different PHP installation.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Updating without losing the site
Separate ProcessWire core files from site data in your procedure. Before an update, take a database dump and a copy of the site directory, record the currently deployed core version or Git revision, and test the update on a staging copy when possible. With ZIP deployments, retain the archive used for each release. With Git, deploy a reviewed commit or tag. With Composer, commit the lockfile and review dependency changes. After replacing core files, verify the home page, a nested URL, admin login, image handling, forms, and any custom modules before considering the update complete.
Quick Recap
Installation checklist
- Ubuntu packages and security updates are current.
- Apache serves the intended domain and the document root contains ProcessWire’s files directly.
- PHP 8.x is active for Apache, with
pdo_mysql,mbstring, and GD or Imagick available. - MySQL 5.6+ or a compatible MariaDB release is running with a dedicated database and user.
mod_rewriteis enabled and Apache permits the ProcessWire.htaccessfile.- The browser installer completed and a nested page was tested.
install.phpand/site/install/were removed.site/config.phpis readable by the web process but not by unrelated users.- Only required asset and cache directories are writable.
- TLS, firewall, SSH policy, backups, updates, and monitoring are in place.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

