⚡ نسخ فوري — أهم الأوامر بزر واحد
1
إنشاء المستخدم
إنشاء ayoub وإعطاؤه صلاحيات sudo
إنشاء ayoub + sudo
adduser ayoub
usermod -aG sudo ayoub
passwd ayoub
أساسي — نفّذ أولًا
دخول بالمستخدم
ssh ayoub@YOUR_IP
ssh ayoub@YOUR_IP -p 2222
استبدل YOUR_IP بـ IP السيرفر
عرض المستخدمين
cat /etc/passwd | grep ayoub
cut -d: -f1 /etc/passwd | sort
id ayoub
تحقق من وجود المستخدم
تبديل مستخدم
su - ayoub
sudo -i
whoami
التبديل بين الحسابات
2
إعدادات SSH
تأمين الدخول وتغيير المنفذ وتعطيل root
فتح ملف الإعدادات
sudo nano /etc/ssh/sshd_config
ثم عدّل الأسطر أدناه
قيم الأمان المطلوبة
Port 2222
PermitRootLogin no
PasswordAuthentication yes
MaxAuthTries 3
الصق داخل الملف
إعادة تشغيل + اختبار
sudo systemctl restart ssh
ssh ayoub@YOUR_IP -p 2222
لا تغلق الجلسة القديمة أولًا!
SSH Key (اختياري)
ssh-keygen -t ed25519 -C "ayoub"
ssh-copy-id -p 2222 ayoub@YOUR_IP
أقوى من كلمة المرور
3
جدار الحماية UFW
فتح المنافذ وتفعيل الحماية
إعداد أساسي
sudo ufw allow 2222/tcp
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
اسمح بالبورت قبل التفعيل
للويب HTTP + HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 'Nginx Full'
إذا ستشغّل موقعًا
إدارة القواعد
sudo ufw status numbered
sudo ufw delete allow 22/tcp
sudo ufw reload
sudo ufw reset
حذف قاعدة قديمة
4
الملفات والمجلدات
إنشاء، تسمية، نقل، حذف
إنشاء
mkdir my_project
mkdir -p project/src/components
touch file.txt
echo "text" > file.txt
مجلد + ملف
تسمية ونقل
mv old_name.txt new_name.txt
mv folder /new/path/folder
cp file.txt backup.txt
cp -r folder folder_backup
mv يُسمّي وينقل
حذف
rm file.txt
rm -i file.txt
rmdir folder
rm -rf folder
rm -rf خطير — تأكد من المسار
تصفح وبحث
ls -la
pwd
find . -name "*.txt"
cat file.txt
less file.txt
عرض وقراءة الملفات
صلاحيات
chmod +x script.sh
chmod 755 folder
chown ayoub:ayoub file.txt
chown -R ayoub:ayoub /var/www
صلاحيات الملف والمجلد
5
Nginx
خادم الويب وإدارة المواقع
تثبيت وحالة
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
تثبيت وتشغيل Nginx
Virtual Host جديد
sudo nano /etc/nginx/sites-available/mysite
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
إضافة موقع جديد
SSL مع Certbot
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com
sudo certbot renew --dry-run
شهادة SSL مجانية
6
Docker
أوامر الحاويات الأساسية
تثبيت Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker ayoub
newgrp docker
تثبيت سريع
أوامر أساسية
docker ps -a
docker images
docker pull ubuntu
docker run -d -p 80:80 nginx
docker stop CONTAINER_ID
docker rm CONTAINER_ID
إدارة الحاويات
Docker Compose
docker compose up -d
docker compose down
docker compose logs -f
docker compose ps
إدارة المشاريع
7
PM2 — Node.js Process Manager
تشغيل تطبيقات Node.js وإدارتها
تثبيت وتشغيل
npm install -g pm2
pm2 start app.js --name myapp
pm2 start npm -- start
pm2 save
pm2 startup
تشغيل تلقائي عند الإقلاع
إدارة التطبيقات
pm2 list
pm2 logs myapp
pm2 restart myapp
pm2 stop myapp
pm2 delete myapp
pm2 monit
مراقبة وإدارة
8
Git
إدارة المستودعات والكود
إعداد وبدء
git config --global user.name "ayoub"
git config --global user.email "your@email.com"
git init
git clone https://github.com/repo.git
إعداد أولي
العمل اليومي
git status
git add .
git commit -m "update"
git push origin main
git pull origin main
أوامر يومية
Branches
git branch
git checkout -b feature/new
git merge feature/new
git branch -d feature/new
إدارة الفروع
9
تحديث النظام + مراقبة
آخر خطوة بعد الإعداد الكامل
تحديث الحزم
sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y
sudo apt autoclean
تحديث شامل
مراقبة السيرفر
df -h
free -h
top
htop
uptime
lscpu
حالة الموارد
السجلات
journalctl -xe
sudo tail -f /var/log/syslog
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/auth.log
قراءة السجلات
كل الخطوات الأساسية معًا — نسخ مرة واحدة
# ===== 1. User =====
adduser ayoub
usermod -aG sudo ayoub
passwd ayoub

# ===== 2. SSH Config =====
sudo nano /etc/ssh/sshd_config
# Port 2222
# PermitRootLogin no
# PasswordAuthentication yes
# MaxAuthTries 3

# ===== 3. UFW =====
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

# ===== 4. Restart SSH =====
sudo systemctl restart ssh

# ===== 5. Test from new window =====
ssh ayoub@YOUR_IP -p 2222

# ===== 6. Update =====
sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y
استبدل YOUR_IP بـ IP السيرفر الفعلي