<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nexto</title>
	<atom:link href="https://nexto.ch/feed/" rel="self" type="application/rss+xml" />
	<link>https://nexto.ch</link>
	<description>Business Empowerment</description>
	<lastBuildDate>Sat, 26 Oct 2024 20:18:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>How to Install and Configure an Apache Web Server on Ubuntu</title>
		<link>https://nexto.ch/apache/how-to-install-and-configure-an-apache-web-server-on-ubuntu/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Tue, 15 Oct 2024 15:16:44 +0000</pubDate>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226670</guid>

					<description><![CDATA[Introduction Apache is one of the most popular web servers in the...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>Apache is one of the most popular web servers in the world, known for its flexibility and robustness. In this guide, you will learn how to install and configure Apache on an Ubuntu server, allowing you to host websites and applications.</p>
<h4>Prerequisites</h4>
<ul>
<li>An updated Ubuntu server.</li>
<li>Access with a user who has sudo privileges.</li>
</ul>
<h5>Step 1: Update the System</h5>
<p>Before starting, it’s good practice to update the system’s package index:</p>
<pre>sudo apt update
sudo apt upgrade -y
</pre>
<h5>Step 2: Install Apache</h5>
<p>Install Apache using the apt package manager:</p>
<pre>sudo apt install apache2 -y
</pre>
<h5>Step 3: Verify Apache Installation</h5>
<p>To ensure Apache is installed correctly, check the status of the service:</p>
<pre>sudo systemctl status apache2
</pre>
<p>You should see an output indicating that Apache is active and running.</p>
<h5>Step 4: Configure the Firewall</h5>
<p>Ensure that the firewall allows HTTP and HTTPS traffic:</p>
<pre>sudo ufw allow 'Apache Full'
</pre>
<h5>Step 5: Test Apache</h5>
<p>Open a web browser and navigate to your server’s public IP address (e.g., http://your_server_ip). You should see Apache’s default page.</p>
<h5>Step 6: Configure Virtual Hosts (Optional)</h5>
<p>To host multiple websites on the same server, you can configure virtual hosts.</p>
<ul>
<li>Create a directory for your site:</li>
</ul>
<pre>sudo mkdir -p /var/www/your_domain.com/html
sudo chown -R $USER:$USER /var/www/your_domain.com/html
</pre>
<ul>
<li>Create a configuration file for the virtual host:</li>
</ul>
<pre>sudo nano /etc/apache2/sites-available/your_domain.com.conf
</pre>
<ul>
<li>Add the following configuration:</li>
</ul>
<pre>&lt;VirtualHost *:80&gt;
ServerAdmin webmaster@your_domain.com
ServerName your_domain.com
ServerAlias www.your_domain.com
DocumentRoot /var/www/your_domain.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;
</pre>
<ul>
<li>Enable the new virtual host:</li>
</ul>
<pre>sudo a2ensite your_domain.com.conf
sudo systemctl reload apache2
</pre>
<h4>Conclusion</h4>
<p>You have successfully installed and configured Apache on Ubuntu. You are now ready to host your websites.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Introduction to Docker: Containerizing Applications</title>
		<link>https://nexto.ch/docker/introduction-to-docker-containerizing-applications/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Tue, 01 Oct 2024 15:16:37 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226671</guid>

					<description><![CDATA[Introduction Docker is a platform that allows you to automate the deployment...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>Docker is a platform that allows you to automate the deployment of applications inside containers, providing a lightweight, portable, and self-sufficient environment. This guide will introduce you to the fundamental concepts of Docker and show you how to use it to containerize an application.</p>
<h4>Prerequisites</h4>
<ul>
<li>An updated Ubuntu system.</li>
<li>Access with sudo privileges.</li>
</ul>
<h5>Step 1: Install Docker</h5>
<p>Install Docker using the following commands:</p>
<pre>sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
</pre>
<p>Verify the installation by checking the Docker version:</p>
<pre>docker --version
</pre>
<h5>Step 2: Understand Basic Concepts</h5>
<ul>
<li><strong>Images:</strong> Templates for creating containers. They are built from a Dockerfile.</li>
<li><strong>Containers:</strong> Executable instances of images.</li>
<li><strong>Docker Hub:</strong> An online repository where you can find Docker images.</li>
</ul>
<h5>Step 3: Run Your First Container</h5>
<p>Run the test container hello-world:</p>
<pre>sudo docker run hello-world
</pre>
<p>This command will download the hello-world image (if not present) and run the container.</p>
<h5>Step 4: Run a Web Application with Docker</h5>
<p>Run an Nginx container on port 80:</p>
<pre>sudo docker run -d -p 80:80 nginx
</pre>
<ul>
<li>-d runs the container in the background.</li>
<li>-p maps port 80 of the container to port 80 of the host.</li>
</ul>
<p>Visit http://your_server_ip in the browser to see the Nginx default page.</p>
<h5>Step 5: Manage Containers</h5>
<ul>
<li>List running containers:</li>
</ul>
<pre>sudo docker ps
</pre>
<ul>
<li>Stop a container:</li>
</ul>
<pre>sudo docker stop [container_id]
</pre>
<ul>
<li>Remove a container:</li>
</ul>
<pre>sudo docker rm [container_id]
</pre>
<h5>Step 6: Create a Custom Image</h5>
<ul>
<li>Create a Dockerfile:</li>
</ul>
<pre>FROM ubuntu:latest
RUN apt-get update &amp;&amp; apt-get install -y python3
CMD ["python3", "--version"]
</pre>
<ul>
<li>Build the image:</li>
</ul>
<pre>sudo docker build -t my_python_image .
</pre>
<ul>
<li>Run the container:</li>
</ul>
<pre>sudo docker run my_python_image
</pre>
<h4>Conclusion</h4>
<p>You have learned the basics of Docker and how to use it to run and create containers. Continue exploring to discover all the potential of Docker in application containerization.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Installing WordPress on a LAMP Server</title>
		<link>https://nexto.ch/lamp/installing-wordpress-on-a-lamp-server/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Sun, 15 Sep 2024 15:16:33 +0000</pubDate>
				<category><![CDATA[Lamp]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226672</guid>

					<description><![CDATA[Introduction WordPress is an open-source content management system (CMS) that allows you...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>WordPress is an open-source content management system (CMS) that allows you to easily create and manage websites and blogs. This guide will show you how to install WordPress on a LAMP server.</p>
<h4>Prerequisites</h4>
<ul>
<li>An Ubuntu server with LAMP stack installed.</li>
<li>A user with sudo privileges.</li>
<li>A domain pointed to your server (optional but recommended).</li>
</ul>
<h5>Step 1: Create a Database for WordPress</h5>
<p>Access MySQL:</p>
<pre>sudo mysql -u root -p
</pre>
<p>Create the database and user for WordPress:</p>
<pre>CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
</pre>
<h5>Step 2: Install Required PHP Extensions</h5>
<p>Install the necessary PHP extensions:</p>
<pre>sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc -y
</pre>
<p>Restart Apache to load the new extensions:</p>
<pre>sudo systemctl restart apache2
</pre>
<h5>Step 3: Download WordPress</h5>
<p>Navigate to the /tmp directory and download the latest version of WordPress:</p>
<pre>cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
</pre>
<h5>Step 4: Configure WordPress</h5>
<p>Copy the WordPress files to the web server’s root directory:</p>
<pre>sudo cp -a /tmp/wordpress/. /var/www/html
</pre>
<p>Set the correct permissions:</p>
<pre>sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
</pre>
<h5>Step 5: Configure the wp-config.php File</h5>
<p>Generate the unique security keys:</p>
<pre>curl -s https://api.wordpress.org/secret-key/1.1/salt/
</pre>
<p>Copy the output.</p>
<p>Rename the configuration file:</p>
<pre>cd /var/www/html
sudo mv wp-config-sample.php wp-config.php
</pre>
<p>Edit wp-config.php:</p>
<pre>sudo nano wp-config.php
</pre>
<p>Enter the database information and paste the security keys.</p>
<h5>Step 6: Complete the Installation via Browser</h5>
<p>Open your browser and navigate to http://your_domain or http://your_server_ip. Follow the on-screen instructions to complete the installation.</p>
<h4>Conclusion</h4>
<p>You have successfully installed WordPress on your LAMP server. You can now start customizing your site.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Configuring a Firewall with UFW on Linux</title>
		<link>https://nexto.ch/linux/configuring-a-firewall-with-ufw-on-linux/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Sun, 01 Sep 2024 15:16:29 +0000</pubDate>
				<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226673</guid>

					<description><![CDATA[Introduction Server security is fundamental. UFW (Uncomplicated Firewall) is a simple tool...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>Server security is fundamental. UFW (Uncomplicated Firewall) is a simple tool to manage firewall rules on Ubuntu and other Debian-based Linux distributions. This guide will show you how to configure UFW to protect your server.</p>
<h4>Prerequisites</h4>
<ul>
<li>An Ubuntu or Debian system.</li>
<li>Access with sudo privileges.</li>
</ul>
<h5>Step 1: Install UFW (if not already installed)</h5>
<pre>sudo apt install ufw -y
</pre>
<h5>Step 2: Check the Current Status of UFW</h5>
<p>Check if UFW is active:</p>
<pre>sudo ufw status verbose
</pre>
<h5>Step 3: Allow SSH Connections</h5>
<p>Before enabling UFW, make sure to allow SSH connections to avoid losing access to the server:</p>
<pre>sudo ufw allow ssh
</pre>
<h5>Step 4: Allow Other Necessary Services</h5>
<p>Allow traffic for services like HTTP and HTTPS:</p>
<pre>sudo ufw allow http
sudo ufw allow https
</pre>
<p>Or use application profiles:</p>
<pre>sudo ufw allow 'Apache Full'
</pre>
<h5>Step 5: Enable UFW</h5>
<p>Enable the firewall:</p>
<pre>sudo ufw enable
</pre>
<p>Confirm with y when prompted.</p>
<h5>Step 6: Verify Active Rules</h5>
<p>Check the active rules:</p>
<pre>sudo ufw status numbered
</pre>
<h5>Step 7: Add Custom Rules (Optional)</h5>
<ul>
<li>Allow a specific port:</li>
</ul>
<pre>sudo ufw allow 8080/tcp
</pre>
<ul>
<li>Deny a connection from a specific IP:</li>
</ul>
<pre>sudo ufw deny from 192.168.1.100
</pre>
<h5>Step 8: Delete or Modify Rules</h5>
<p>To delete a rule:</p>
<p><strong>1 &#8211;</strong> View numbered rules:</p>
<pre>sudo ufw status numbered
</pre>
<p><strong>2 &#8211;</strong> Delete the specific rule:</p>
<pre>sudo ufw delete [rule_number]
</pre>
<h4>Conclusion</h4>
<p>You have configured UFW to protect your Linux server. Remember to update the firewall rules whenever you add new services.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Creating a Simple Website with HTML, CSS, and JavaScript</title>
		<link>https://nexto.ch/javascript/creating-a-simple-website-with-html-css-and-javascript/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Thu, 15 Aug 2024 15:16:21 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226675</guid>

					<description><![CDATA[Introduction Building a website from scratch is a great way to understand...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>Building a website from scratch is a great way to understand the fundamentals of web development. In this tutorial, you will learn how to create a simple static website using HTML for structure, CSS for styling, and JavaScript for interactivity.</p>
<h4>Prerequisites</h4>
<ul>
<li>A text editor (e.g., Visual Studio Code, Sublime Text, Notepad++).</li>
<li>Basic understanding of HTML, CSS, and JavaScript syntax.</li>
</ul>
<h5>Step 1: Setting Up the Project Structure</h5>
<p>Create a new directory for your website project:</p>
<pre>my_website/
├── index.html
├── styles.css
└── script.js
</pre>
<h5>Step 2: Creating the HTML Structure</h5>
<p>Open index.html in your text editor and set up the basic HTML structure:</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;My Simple Website&lt;/title&gt;
    &lt;link rel="stylesheet" href="styles.css"&gt;
&lt;/head&gt;
&lt;body&gt;

    &lt;h1&gt;Welcome to My Website&lt;/h1&gt;
    &lt;p&gt;This is a simple website created with HTML, CSS, and JavaScript.&lt;/p&gt;
    &lt;button id="myButton"&gt;Click Me&lt;/button&gt;

    &lt;script src="script.js"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<h5>Step 3: Adding Styles with CSS</h5>
<p>Open styles.css and add some styles to enhance the appearance of your website:</p>
<pre>body {
    font-family: Arial, sans-serif;
    text-align: center;
    margin-top: 50px;
}

h1 {
    color: #333;
}

button {
    padding: 10px 20px;
    font-size: 16px;
}
</pre>
<h5>Step 4: Adding Interactivity with JavaScript</h5>
<p>Open script.js and add code to handle the button click event:</p>
<pre>document.getElementById('myButton').addEventListener('click', function() {
    alert('Button clicked!');
});
</pre>
<h5>Step 5: Testing the Website</h5>
<p>Open index.html in a web browser to view your website. Click the “Click Me” button to ensure the JavaScript function works correctly.</p>
<h5>Step 6: Enhancing the Website (Optional)</h5>
<ul>
<li><strong>Add Images:</strong> Include images using the &lt;img&gt; tag.</li>
<li><strong>Create Additional Pages:</strong> Add more HTML files and link them using &lt;a&gt; tags.</li>
<li><strong>Responsive Design:</strong> Use media queries in CSS to make the website responsive.</li>
</ul>
<h4>Conclusion</h4>
<p>You have created a simple static website using HTML, CSS, and JavaScript. This foundation allows you to build more complex websites and explore advanced web development concepts.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Using SSH for Secure Remote Access</title>
		<link>https://nexto.ch/ssh/using-ssh-for-secure-remote-access/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Thu, 01 Aug 2024 14:17:51 +0000</pubDate>
				<category><![CDATA[SSH]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226594</guid>

					<description><![CDATA[Introduction SSH (Secure Shell) is a protocol that allows secure remote login...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>SSH (Secure Shell) is a protocol that allows secure remote login and other network services over an unsecured network. This tutorial will show you how to use SSH to connect to remote servers securely.</p>
<h4>Prerequisites</h4>
<ul>
<li>A remote server with SSH access.</li>
<li>SSH client installed on your local machine (usually pre-installed on Linux and macOS).</li>
</ul>
<h5>Step 1: Install SSH Server on Remote Machine (if necessary)</h5>
<p>On the remote server, ensure that OpenSSH Server is installed:</p>
<pre>sudo apt update
sudo apt install openssh-server -y
</pre>
<h5>Step 2: Find the Server’s IP Address</h5>
<p>On the remote server, find its IP address:</p>
<pre>ip addr show
</pre>
<p>Look for the inet address under the network interface (e.g., eth0).</p>
<h5>Step 3: Connect to the Remote Server</h5>
<p>From your local machine, open a terminal and connect using SSH:</p>
<pre>ssh username@server_ip
</pre>
<p>Replace username with your remote server’s user and server_ip with the IP address.</p>
<h5>Step 4: Accept the Host Key</h5>
<p>On the first connection, you’ll be asked to confirm the server’s fingerprint:</p>
<pre>The authenticity of host 'server_ip' can't be established.
Are you sure you want to continue connecting (yes/no)?
</pre>
<p>Type yes and press Enter.</p>
<h4>Step 5: Enter Password</h4>
<p>You’ll be prompted to enter the password for the user account.</p>
<h4>Step 6: Using SSH Keys for Authentication (Recommended)</h4>
<p>Generate an SSH key pair on your local machine:</p>
<pre>ssh-keygen -t rsa -b 4096
</pre>
<p>Press Enter to accept the default file location and optionally set a passphrase.</p>
<p>Copy the public key to the remote server:</p>
<pre>ssh-copy-id username@server_ip
</pre>
<p>Alternatively, manually copy the contents of ~/.ssh/id_rsa.pub to the remote server’s ~/.ssh/authorized_keys file.</p>
<h5>Step 7: Disable Password Authentication (Optional)</h5>
<p>For enhanced security, you can disable password authentication:</p>
<ul>
<li>Edit the SSH configuration file on the remote server:</li>
</ul>
<pre>sudo nano /etc/ssh/sshd_config
</pre>
<ul>
<li>Set the following parameters:</li>
</ul>
<pre>PasswordAuthentication no
ChallengeResponseAuthentication no
</pre>
<ul>
<li>Restart SSH service:</li>
</ul>
<pre>sudo systemctl restart sshd
</pre>
<h5>Step 8: Secure SSH Configuration</h5>
<p>Additional security measures:</p>
<ul>
<li>Change the default SSH port (e.g., to 2222):</li>
</ul>
<pre>Port 2222
</pre>
<p>Remember to update firewall rules accordingly.</p>
<ul>
<li>Allow specific users:</li>
</ul>
<pre>AllowUsers your_username
</pre>
<h4>Conclusion</h4>
<p>You have learned how to use SSH for secure remote access, including setting up key-based authentication and securing the SSH server configuration.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Guide to Using Git for Version Control</title>
		<link>https://nexto.ch/lamp/guide-to-using-git-for-version-control/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Mon, 15 Jul 2024 15:16:25 +0000</pubDate>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Lamp]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226674</guid>

					<description><![CDATA[Introduction Git is a distributed version control system widely used to manage...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>Git is a distributed version control system widely used to manage software development projects. This guide will introduce you to the fundamental commands of Git, helping you get started with version control.</p>
<h4>Prerequisites</h4>
<ul>
<li>A system with Git installed.</li>
<li>Basic command-line knowledge.</li>
</ul>
<h5>Step 1: Install Git</h5>
<p>On Ubuntu/Debian:</p>
<pre>sudo apt update
sudo apt install git -y
</pre>
<h5>Step 2: Configure Git</h5>
<p>Set your username and email (required for commits):</p>
<pre>git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
</pre>
<h5>Step 3: Create a New Repository</h5>
<ul>
<li>Create a new directory for your project:</li>
</ul>
<pre>mkdir my_project
cd my_project
</pre>
<ul>
<li>Initialize Git:</li>
</ul>
<pre>git init
</pre>
<h5>Step 4: Add Files to the Repository</h5>
<ul>
<li>Create a file:</li>
</ul>
<pre>echo "# Project Title" &gt; README.md
</pre>
<ul>
<li>Add the file to Git tracking:</li>
</ul>
<pre>git add README.md
</pre>
<h5>Step 5: Make a Commit</h5>
<ul>
<li>Record the changes in the repository:</li>
</ul>
<pre>git commit -m "Add README.md file"
</pre>
<h5>Step 6: Clone an Existing Repository</h5>
<p>To clone a remote repository:</p>
<pre>git clone https://github.com/user/repository.git
</pre>
<h5>Step 7: View the Repository Status</h5>
<p>Check which files have been modified or are waiting to be committed:</p>
<pre>git status
</pre>
<h5>Step 8: View Commit History</h5>
<p>Display the commit history:</p>
<pre>git log
</pre>
<h5>Step 9: Work with Branches</h5>
<ul>
<li>Create a new branch:</li>
</ul>
<pre>git branch new_feature
</pre>
<ul>
<li>Switch to the new branch:</li>
</ul>
<pre>git checkout new_feature
</pre>
<h5>Step 10: Merge Branches</h5>
<ul>
<li>Return to the main branch:</li>
</ul>
<pre>git checkout main
</pre>
<ul>
<li>Merge the changes:</li>
</ul>
<pre>git merge new_feature
</pre>
<h5>Step 11: Manage a Remote Repository</h5>
<ul>
<li>Add a remote repository:</li>
</ul>
<pre>git remote add origin https://github.com/user/repository.git
</pre>
<ul>
<li>Push changes to the remote:</li>
</ul>
<pre>git push -u origin main
</pre>
<h5>Step 12: Update the Local Repository</h5>
<p>To get the latest changes from the remote repository:</p>
<pre>git pull
</pre>
<h4>Conclusion</h4>
<p>Now you know the fundamental commands to use Git in version control for your projects. Continue exploring advanced features to improve your workflow.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Installing and Configuring an FTP Server with vsftpd</title>
		<link>https://nexto.ch/vsftpd/installing-and-configuring-an-ftp-server-with-vsftpd/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Mon, 01 Jul 2024 14:17:56 +0000</pubDate>
				<category><![CDATA[FTP]]></category>
		<category><![CDATA[vsftpd]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226595</guid>

					<description><![CDATA[Introduction An FTP server allows you to transfer files between computers over...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>An FTP server allows you to transfer files between computers over a network. vsftpd (Very Secure FTP Daemon) is a popular FTP server for Unix-like systems. This tutorial will guide you through installing and configuring vsftpd on a Linux server.</p>
<h4>Prerequisites</h4>
<ul>
<li>A Linux server (e.g., Ubuntu or Debian).</li>
<li>Access with sudo privileges.</li>
</ul>
<h5>Step 1: Install vsftpd</h5>
<p>Update the package list and install vsftpd:</p>
<pre>sudo apt update
sudo apt install vsftpd -y
</pre>
<h5>Step 2: Backup the Configuration File</h5>
<p>Before making changes, back up the original configuration file:</p>
<pre>sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
</pre>
<h5>Step 3: Configure vsftpd</h5>
<p>Edit the vsftpd configuration file:</p>
<pre>sudo nano /etc/vsftpd.conf
</pre>
<p>Modify the following settings:</p>
<ul>
<li>Uncomment local_enable=YES to allow local users to log in.</li>
<li>Uncomment write_enable=YES to allow write permissions.</li>
<li>Uncomment chroot_local_user=YES to confine users to their home directories.</li>
</ul>
<p>Add the following line to enable passive mode (adjust the port range as needed):</p>
<pre>pasv_min_port=40000
pasv_max_port=50000
</pre>
<h5>Step 4: Restart vsftpd Service</h5>
<p>Apply the changes by restarting the vsftpd service:</p>
<pre>sudo systemctl restart vsftpd
</pre>
<h5>Step 5: Create an FTP User</h5>
<p>Create a new user for FTP access:</p>
<pre>sudo adduser ftpuser
</pre>
<p>Set a password when prompted.</p>
<h5>Step 6: Adjust Firewall Settings</h5>
<p>Allow FTP traffic through the firewall:</p>
<pre>sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
</pre>
<h5>Step 7: Test the FTP Connection</h5>
<p>Use an FTP client like FileZilla or the command line to connect:</p>
<pre>ftp your_server_ip
</pre>
<p>Log in with the ftpuser credentials.</p>
<h5>Step 8: Secure the FTP Server (Optional)</h5>
<p>For enhanced security, consider:</p>
<ul>
<li><strong>Using FTPS:</strong> Configure SSL/TLS encryption.</li>
<li><strong>Limiting User Access:</strong> Restrict users to specific directories.</li>
<li><strong>Disabling Anonymous Access:</strong> Ensure anonymous_enable=NO is set.</li>
</ul>
<h4>Conclusion</h4>
<p>You have installed and configured an FTP server using vsftpd. Users can now transfer files securely to and from your server.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Setting Up a MySQL Database and Connecting with PHP</title>
		<link>https://nexto.ch/mysql/setting-up-a-mysql-database-and-connecting-with-php/</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Sat, 15 Jun 2024 14:17:49 +0000</pubDate>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=226593</guid>

					<description><![CDATA[Introduction MySQL is a widely used open-source relational database management system. PHP...]]></description>
										<content:encoded><![CDATA[<h3>Introduction</h3>
<p>MySQL is a widely used open-source relational database management system. PHP is a popular server-side scripting language. This tutorial will guide you through setting up a MySQL database and connecting to it using PHP.</p>
<h4>Prerequisites</h4>
<ul>
<li>A server with MySQL and PHP installed.</li>
<li>Access with sudo privileges.</li>
</ul>
<h5>Step 1: Install MySQL and PHP (if not already installed)</h5>
<pre>sudo apt update
sudo apt install mysql-server php php-mysql -y
</pre>
<h5>Step 2: Secure MySQL Installation</h5>
<p>Run the security script:</p>
<pre>sudo mysql_secure_installation
</pre>
<p>Follow the prompts to set the root password and secure the installation.</p>
<h5>Step 3: Create a MySQL Database and User</h5>
<p>Log in to MySQL:</p>
<pre>sudo mysql -u root -p
Create a new database and user:

CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
</pre>
<h5>Step 4: Create a PHP Script to Connect to the Database</h5>
<p>Create a file named db_connect.php in your web server’s root directory (e.g., /var/www/html):</p>
<pre>&lt;?php
$servername = "localhost";
$username = "myuser";
$password = "mypassword";
$dbname = "mydatabase";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn-&gt;connect_error) {
    die("Connection failed: " . $conn-&gt;connect_error);
}
echo "Connected successfully";
?&gt;
</pre>
<h5>Step 5: Test the Database Connection</h5>
<p>Open a web browser and navigate to http://your_server_ip/db_connect.php. You should see “Connected successfully”.</p>
<h5>Step 6: Handling Database Operations</h5>
<p>Modify db_connect.php to perform database queries:.</p>
<pre>// Perform a query
$sql = "SELECT * FROM mytable";
$result = $conn-&gt;query($sql);

if ($result-&gt;num_rows &gt; 0) {
    // Output data
    while($row = $result-&gt;fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "&lt;br&gt;";
    }
} else {
    echo "0 results";
}
$conn-&gt;close();
</pre>
<h5>Step 7: Preventing SQL Injection</h5>
<p>Always use prepared statements or parameterized queries to prevent SQL injection attacks.</p>
<h4>Conclusion</h4>
<p>You have set up a MySQL database and connected to it using PHP. You can now build dynamic web applications that interact with your database.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clear Print Queue</title>
		<link>https://nexto.ch/node/17</link>
		
		<dc:creator><![CDATA[Nexto]]></dc:creator>
		<pubDate>Thu, 15 Oct 2020 15:25:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<guid isPermaLink="false">https://nexto.ch/?p=228092</guid>

					<description><![CDATA[If you have a long list of hung or corrupt print jobs...]]></description>
										<content:encoded><![CDATA[<h5>If you have a long list of hung or corrupt print jobs in Microsoft Windows 10, you can clear the print queue follow these methods:</h5>
<p><strong>CLI Method</strong></p>
<p>You can clear the print queue using these commands:</p>
<ol>
<li>Select Start.</li>
<li>Type Command.</li>
<li>Right-click “Command Prompt” and select “Run as administrator“.</li>
<li>Type net stop spooler then press “Enter“.</li>
<li>Type del %systemroot%\System32\spool\printers\* /Q then press “Enter“.</li>
<li>Type net start spooler then press “Enter“.</li>
<li>The print queue on your Windows should now be cleared. Type exit, then press “Enter” to exit the command window.</li>
</ol>
<p><strong>GUI Method</strong></p>
<p>You can clear the print queue from GUI using this steps:</p>
<ol>
<li>Hold down the Windows Key and press “R” to bring up the Run dialog.</li>
<li>Type services.msc, then press “Enter“.</li>
<li>Find the “Print Spooler” service in the list. Right-click it, then select “Stop“.</li>
<li>Leave the Services window open. Hold down the Windows Key and press “R” to bring up the Rundialog.</li>
<li>Type %systemroot%\System32\spool\printers\, then press “Enter“.</li>
<li>Select all of the files by holding “CTRL” and pressing “A“.</li>
<li>Press the “Delete” key to delete all of the files.</li>
<li>Go back to the Services window, right-click “Print Spooler“, then select “Start“</li>
</ol>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
