Place the onion, celery, and garlic in a large soup pot with the water. Cook and stir until the onion softens slightly. Add the carrot, squash, beans, vegetable stock, strip of lemon peel, pepper, and thyme. Bring to a boil, reduce the heat, cover, and cook over low heat about 20 minutes. Add the tomatoes, cabbage, and lemon juice. Cook until the cabbage is tender, about 5 minutes. Stir in the basil and grated lemon peel.